Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Проблема с массивом!


Автор: Лисенок 16.2.2005, 21:41
Помогите, пожалуйста, с заданием. Надо было иницилизировать одномерный массив из 10 элементов (любые от 0 до 100), вывести на экран, вывести сумму, среднее, максимальный и минимальный элементы, элемент, который ближе всего к среднему и отобразить индексы.
У меня не получается найти число приближенное к среднему и отобразить индексы. Как это сделать?

#include <iostream>
using namespace std;
int main(void)
{
static double X[10]; //статистический одномерный массив
double min=0;
double max=100;
double sum;
double arif;
int i;
cout<<"Input 9 elements of array:"<<endl;
for (i=0;i<=8;i++)
cin>>X[i];

min=X[0]; //находим минимальное число массива
for (i=1;i<=8;i++)
if (X[i]<min)
min=X[i];

max=X[0]; // максимальное число
for (i=1;i<=8;i++)
if (X[i]>max)
max=X[i];

sum=X[0]; // сумма
for (i=0;i<=7;i++)
if (X[i]>0)
sum+=X[i];

arif=X[0]; // среднее арифметическое
for (i=0;i<=7;i++)
if (X[i]>0)
sum+=X[i];
arif=sum/2;
//for (i=0;i<=8;i++) //вывод массива на экран еще один раз
// cout<<X[i]<<endl;
cout<<"Minimal="<<min<<endl;
cout<<"Maximal="<<max<<endl;
cout<<"Summa="<<sum<<endl;
cout<<"Srednee="<<arif<<endl;
return 0;
}

Автор: Artiom 16.2.2005, 23:36
Код

arif=X[0]; // среднее арифметическое
for (i=0;i<=7;i++)
if (X[i]>0)
sum+=X[i];
arif=sum/2;
Чтобы найти среднее арифметическое, sum надо поделить на число элементов массива.
А потом уже можно искать приближенное к среднему число.

Автор: cardinal 17.2.2005, 01:08
Цитата(Artiom @ 16.2.2005, 21:36)
А потом уже можно искать приближенное к среднему число.

смотря на разницу x = "среднее арифметическое" - "текущий элемент"
Чем меньше абсолютная величина x тем ближе мы к среднему арифметическому.
Лисенок, и введи еще одну переменную, в которую можно прописать размер массива. Так будет понятней и уникальней. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)