Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > C/C++/С#


Ответ
 
Опции темы Опции просмотра
Старый 01.07.2011, 22:25   #1 (permalink)
егорн
Новичок
 
Регистрация: 01.07.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Неправильно считает сумму после минимального элемента

#include <windows.h>
#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
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Форум наполнен схожими обсуждениями

Подскажите, что неправильно?
Вычислить сумму
Неправильно записан диск
Собрать компьютер на сумму 20 - 25 т. руб.
Расчитать сумму ряда
Программа определения номера первого отрицательного элемента. Паскаль

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 08:15.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.