Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [CИ++] вопрос по указателям .


Автор: kniazik 15.1.2010, 10:03
Кто может подсказать? 
Требуется решить задачу 

.Разработать программу определения среднестатистического количества осадков в течение года. Количество осадков вводится по месяцам. Определить отношение среднестатистического количества осадков к максимальному количеству. 

Решить ее через указатели 

Я пишу 
Код

#include <iostream>
#include <conio>

int main (void)
{
int n=0,i;
int A[12];
double itog=0;
int sum=0;
  cout<<"Vvedite kol-vo elementov: ";
  cin>>n;
    for (i=0;i<n;i++)
    {
      cin>>A[i];
      sum+=A[i];
    }
  itog=sum/n;
  cout<<"Srednee znachenie: "<<itog;
}


Но почему значение не точное ?

Автор: mrbrooks 15.1.2010, 10:29
kniazik, 
Цитата(kniazik @  15.1.2010,  10:03 Найти цитируемый пост)
Решить ее через указатели 

а где они у тебя в коде? 

зачем нужна переменная n - если количество месяцев в году константно? ибо же сам писал:
Цитата(kniazik @  15.1.2010,  10:03 Найти цитируемый пост)
пределения среднестатистического количества осадков в течение года.


Цитата(kniazik @  15.1.2010,  10:03 Найти цитируемый пост)
Но почему значение не точное ? 

на каком основании мы можем сопоставить истину и ложь. smile. Из кода это не понятно.

Автор: kniazik 15.1.2010, 10:45
Но какая разница - указатели или нет? Программа обрабатывает несколько чисел и находит среднее. Но не правильно. 

Автор: t_gran 15.1.2010, 10:59
Код

#include <iostream>

using namespace std;

int main (int argc, char **argv)
{
   const int CMonth= 12;
   int A[CMonth];
   int sum= 0;
   for (int i= 0; i<CMonth; ++i)
   {
      cin >> *(A+i); // Вместо A[i]. Вот вам и указатель :-) Хотя такая запись не приветствуется.
      sum+= *(A+i);  // Аналогично, вышесказанному.
   }
   double itog= (double)sum/CMonth;
   cout << "Srednee znachenie: " << itog;
   return 0;
}

Ну а отклонение я думаю найдёте.

Автор: kniazik 15.1.2010, 18:28
Спасибо, остальное я уже нашел. 

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