Определить минимальное значение в 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, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д