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

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

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

Имеется текстовый файл, содержащий целые числа. Определить сколько раз в нем повторяется минимальное значение. Результат дописать в исходный файл.
#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;
    
}
Помогите,что-то не могу сообразить с min значениями...Как их будет правильнее сосчитать?!+100500 к карме тому,кто поможет.Голову ломаю уже около часа.Понимаю,что ерунда получается,но этот вариант самый жизнеспособный.

Решение задачи: «Определить минимальное значение в 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);
}

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

  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
Похожие ответы