Файлы. Определить среднее арифметическое положительных чисел и записать в другой файл результат - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написала программу, она компилируется, но не даёт результат (текстовые файлы я создала). Помогите, пожалуйста
Листинг программы
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<conio.h>
  4. FILE *f, *f1;
  5. int main()
  6. {int x, q=0, sum=0;
  7. double l;
  8. f=fopen("D:\\TextFile", "rt");
  9. f1=fopen("D:\\rez", "wt");
  10. if(f == NULL)
  11. {
  12. printf("Problems");
  13. system("pause");
  14. return 1;
  15. }
  16. if (fscanf(f,"%d",&x)>0)
  17. {sum+=x;
  18. q+=1;
  19. l=sum/q;
  20. }
  21.  
  22. fprintf(f1," %3lf",l);
  23. fclose(f);
  24. fclose(f1);
  25. return 0;
  26. }

Решение задачи: «Файлы. Определить среднее арифметическое положительных чисел и записать в другой файл результат»

textual
Листинг программы
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<conio.h>
  4. FILE *f, *f1;
  5. int main()
  6. {
  7.     int x;
  8.     double q = 0, sum = 0, l;
  9.     f = fopen("1.txt", "rt");
  10.     f1 = fopen("2.txt", "wt");
  11.     if(f == NULL)
  12.         {
  13.           printf("Problems");
  14.           system("pause");
  15.           return 1;
  16.         }
  17.     while(fscanf(f,"%d",&x) != EOF) //будет продолжать считывать до пробела, пока не встретит конец файла
  18.     {
  19.         if(x > 0)
  20.         {
  21.             sum += x;
  22.             q += 1;
  23.             l = sum/q;
  24.         }
  25.     }
  26.     fprintf(f1, "%3lf", l);
  27.     fclose(f);
  28.     fclose(f1);
  29.     return 0;
  30. }

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Объявляются необходимые переменные: x (целое число), q (число с плавающей точкой), sum (число с плавающей точкой), l (число с плавающей точкой), f и f1 (указатели на файлы)
  3. Открывается файл 1.txt для чтения и файл 2.txt для записи
  4. Проверяется, открылся ли файл 1.txt успешно. Если нет, выводится сообщение об ошибке и программа завершается
  5. Начинается цикл, который будет считывать числа из файла 1.txt до тех пор, пока не встретит конец файла
  6. Если считанное число больше нуля, оно добавляется к сумме и к количеству чисел, а также вычисляется среднее арифметическое
  7. После окончания цикла, среднее арифметическое записывается в файл 2.txt
  8. Файлы закрываются
  9. Программа завершается

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы