Определить минимальное значение в txt-файле, содержащем целые числа - C (СИ)

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

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

Имеется текстовый файл, содержащий целые числа. Определить сколько раз в нем повторяется минимальное значение. Результат дописать в исходный файл.
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <string.h>
  4. FILE* f1;
  5. int main(void)
  6. {
  7. if ((f1 = fopen("999.txt", "r+")) == NULL)
  8. {
  9. perror("error1\n");
  10. return 1;
  11. }
  12. int i = 0;
  13. int m = 0;
  14. int min = 0;
  15. char str[100]="";
  16. while ((str[i] = getc(f1)) != EOF)
  17. {
  18. if (str[i] < str[i + 1])
  19. {
  20. min = str[i];
  21. }
  22. // for (i = 0; str[i] != 0; i++)
  23. // {
  24. // if (str[i] = min)
  25. // {
  26. // m++;
  27. // }
  28. //
  29. // }
  30. //}
  31. }
  32. fprintf(f1,"%d\n",min);
  33.  
  34. fclose(f1);
  35. return 0;
  36. }
Помогите,что-то не могу сообразить с min значениями...Как их будет правильнее сосчитать?!+100500 к карме тому,кто поможет.Голову ломаю уже около часа.Понимаю,что ерунда получается,но этот вариант самый жизнеспособный.

Решение задачи: «Определить минимальное значение в txt-файле, содержащем целые числа»

textual
Листинг программы
  1. #include <stdio.h>
  2. int main(void){
  3. FILE *file;
  4.     int a=0,min,c=0;
  5.  file = fopen("iii.txt", "a+");
  6.     fscanf (file,"%d",&min);
  7.  while (fscanf (file,"%d",&a) != EOF) if(a<min)min=a;
  8. rewind(file);
  9. while (fscanf (file,"%d",&a) != EOF) if(a==min)c++;
  10.     fprintf(file,"\n%d",c);
  11.     fclose(file);
  12. return(0);
  13. }

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

  1. Включаем стандартную библиотеку ввода-вывода
  2. Объявляем функцию main()
  3. Создаем указатель file для работы с файлом
  4. Инициализируем переменные: a=0, min=0, c=0
  5. Открываем файл iii.txt в режиме добавления +a
  6. Считываем первое число из файла в переменную min
  7. В цикле while считываем каждое последующее число из файла в переменную a
  8. Если считанное число меньше min, то обновляем значение min
  9. После окончания цикла while сбрасываем позицию файла в начало с помощью функции rewind()
  10. В цикле while считываем каждое число из файла в переменную a
  11. Если считанное число равно min, то увеличиваем значение c на 1
  12. Записываем значение c в файл
  13. Закрываем файл
  14. Возвращаем 0, чтобы указать, что программа успешно завершилась

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


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

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

6   голосов , оценка 3.833 из 5

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

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

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