Форум: Форум C++Разное
Новые темы: 00
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подсчитать среднее арифметическое
 
 автор: ols   (19.09.2007 в 17:25)   письмо автору
 
 

Вот тот же код.


#include <iostream.h>
#include <stdio.h>

int main()
{
  double number;

  cout << "number = ";
  cin >> number;
 
  FILE *fp;
  // Открываем файл для дозаписи 
  fp = fopen("out.txt""a");
  if(fp == NULL)
  {
    cout << "Невозможно открыть файл out.txt: "
         << ferror(fp) <<  "\n";
    return -1;
  }

  // Записываем число
  fprintf(fp, "%f", number);

  // Закрываем файл
  fclose(fp);

  return 0;
}

В файл записываются только действительные значение. Необходимо подсчитать среднее арифметическое и записать их в другой файл. Это получается сначала нужно записать данные из файла в маасив а потом только сложить элементы и разделить на их количество?

  Ответить  
 
 автор: dima_s_d_s   (19.09.2007 в 20:27)   письмо автору
 
   для: ols   (19.09.2007 в 17:25)
 



#include <iostream.h>
#include <stdio.h>

int main()
{
double number=0;
float fpp,temp=0;
int kol=0;

FILE *fp;
  // Открываем файл для дозаписи и чтения
  fp = fopen("out.txt""a+");
  if(fp == NULL)
  {
    cout << "Невозможно открыть файл out.txt: "
         << ferror(fp) <<  "\n";
    return -1;
  }

  //Запрашиваем число до тех пор пока не введут 0
  do {
  cout << "number = ";
  
    cin >> number;
if (number!=0){
  // Записываем число
  fprintf(fp, "%f", number);
  fprintf(fp,"\n");}
  
 
  }
  while (number!=0); //проверка, если ввели 0 то заканчиваем запись в файл  
  
  rewind(fp); //устанавливаем указатель  на начало файла


  //считываем до тех пор пока не достигнут конец файла
  while (!feof(fp)) 
  {
fscanf(fp,"%f",&fpp);
temp+=fpp;
kol++;
 }
  fclose(fp);   // Закрываем файл

      // Открываем файл для дозаписи 
  fp = fopen("sreednee.txt""w");
fprintf(fp, "%f", temp/kol);
   fclose(fp);   // Закрываем файл

  return 0;
}

  Ответить  
 
 автор: ols   (26.09.2007 в 03:34)   письмо автору
 
   для: dima_s_d_s   (19.09.2007 в 20:27)
 

А для того чтобы потом вывести результат среднего арифметического, необходимо еще одну переменную объявить? Тоесть чтобы после или перед записью с.а. в консоли вывести его значение.

  Ответить  
 
 автор: dima_s_d_s   (26.09.2007 в 10:13)   письмо автору
 
   для: ols   (26.09.2007 в 03:34)
 

Нет ничего больше объявлять не надо, просто допиши

...
cout<<temp/kol;
...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования