01.07.2011, 22:25 | #1 (permalink) |
Новичок
Регистрация: 01.07.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Неправильно считает сумму после минимального элемента
#include <iostream> #include <math.h> #include <ctime> using namespace std; template <class Type> void vvod(Type *a,int n); template <class Type> void vivod(Type *a,int n); template<class T> int kolich(T*a,int n); template <class T> void preobr (T*a,int n); template <class T> int min1(T*a,int n); template <class T>int sum1(T*a,int n); int main(){ SetConsoleOutputCP(1251); int *b,m, min=0,sum; srand(time(0)); cout<<"Введите размерность массива:"<<endl; cin>>m; b=new int[m]; cout<<"Целочисленный массив:\n"; vvod(b,m); cout<<"Кол-во нулевых элементов="<<kolich(b,m)<<endl; cout<<"преобразованный массив:\n"; preobr(b,m); cout<<"Минимальный элемент:"<<endl; min1(b,m); vivod(b,m); cout<<"Сумма после минимального:"<<endl; sum1(b,m); vivod(b,m); system("pause"); return 0; } template <class Type> void vvod(Type *a,int n){ Type x=10,y=20; for(int i=0;i<n;i++) a[i]= rand() % y - rand() % x; vivod(a,n); } template <class Type> void vivod(Type *a,int n){ for(int i=0;i<n;i++) cout<<a[i]<<"\t"; cout<<endl<<endl; } template <class T> int kolich(T*a,int n) { int i,kolvo=0; for(i=0;i<n;i++) if (a[i]==0) kolvo++; return kolvo; } template <class T> void preobr (T*a,int n){ int tmp = a[0]; for ( int j = 0; j < n - 1; j ++ ) for ( int i = j; i < n; i ++ ) if ( fabs(a[j]) > fabs (a[i]) ) { tmp = a[j]; a[j] = a[i]; a[i] = tmp; } vivod (a,n); } template <class T> int min1(T*a,int n){ int min=a[0]; for(int i=0;i<n;i++) if(a[i]<min) min=a[i]; cout<<min<<endl; return min; } template <class T>int sum1(T*a,int n){ int sum,min=a[0]; for(int i=0;i<n;i++) if(a[i]>min) { min=a[i]; i=n; } { for(int i=n+1;i<n;++i) sum+=a[i]; } cout<<sum<<endl; return sum; sum1(a,n); } |
01.07.2011, 22:25 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Форум наполнен схожими обсуждениями Подскажите, что неправильно? Вычислить сумму Неправильно записан диск Собрать компьютер на сумму 20 - 25 т. руб. Расчитать сумму ряда Программа определения номера первого отрицательного элемента. Паскаль |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|