Определить минимальное значение в txt-файле, содержащем целые числа - C (СИ)
Формулировка задачи:
Имеется текстовый файл, содержащий целые числа. Определить сколько раз в нем повторяется минимальное значение. Результат дописать в исходный файл.
Помогите,что-то не могу сообразить с min значениями...Как их будет правильнее сосчитать?!+100500 к карме тому,кто поможет.Голову ломаю уже около часа.Понимаю,что ерунда получается,но этот вариант самый жизнеспособный.
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> FILE* f1; int main(void) { if ((f1 = fopen("999.txt", "r+")) == NULL) { perror("error1\n"); return 1; } int i = 0; int m = 0; int min = 0; char str[100]=""; while ((str[i] = getc(f1)) != EOF) { if (str[i] < str[i + 1]) { min = str[i]; } // for (i = 0; str[i] != 0; i++) // { // if (str[i] = min) // { // m++; // } // // } //} } fprintf(f1,"%d\n",min); fclose(f1); return 0; }
Решение задачи: «Определить минимальное значение в txt-файле, содержащем целые числа»
textual
Листинг программы
#include <stdio.h> int main(void){ FILE *file; int a=0,min,c=0; file = fopen("iii.txt", "a+"); fscanf (file,"%d",&min); while (fscanf (file,"%d",&a) != EOF) if(a<min)min=a; rewind(file); while (fscanf (file,"%d",&a) != EOF) if(a==min)c++; fprintf(file,"\n%d",c); fclose(file); return(0); }
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Объявляем функцию main()
- Создаем указатель file для работы с файлом
- Инициализируем переменные: a=0, min=0, c=0
- Открываем файл
iii.txt
в режиме добавления+a
- Считываем первое число из файла в переменную min
- В цикле while считываем каждое последующее число из файла в переменную a
- Если считанное число меньше min, то обновляем значение min
- После окончания цикла while сбрасываем позицию файла в начало с помощью функции rewind()
- В цикле while считываем каждое число из файла в переменную a
- Если считанное число равно min, то увеличиваем значение c на 1
- Записываем значение c в файл
- Закрываем файл
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д