Подсчитать количество чисел в последовательности больше предыдущего - C (СИ)

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

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

В файле записана последовательность неизвестной длины , подсчитать количество чисел в ней больше предыдущего, заранее спасибо.

Решение задачи: «Подсчитать количество чисел в последовательности больше предыдущего»

textual
Листинг программы
#ifdef _MSC_VER
    #define _CRT_SECURE_NO_WARNINGS
#endif
 
#include <stdlib.h>
#include <stdio.h>
 
size_t f(const char *filename)
{
    size_t count = 0;
    int pred = 0, current = 0;
    FILE *file = fopen(filename, "r");
    if (!file)
        return count;
    if (fscanf(file, "%d", &pred))
    {
        while (!feof(file))
        {
            if (fscanf(file, "%d", ¤t))
            {
                if (current > pred)
                    count++;
                pred = current;
            }
        }
    }
    return count;
}
 
int main(void)
{
    return !printf("%u\n", f("ghost.txt"));
}

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

В данном коде определена функция f, которая принимает в качестве аргумента имя файла и считает количество чисел в этом файле, которые больше предыдущего. В функции main создается команда для вывода в консоль количества чисел в файле ghost.txt, после чего выполняется команда.

  1. В начале кода определяются необходимые заголовочные файлы.
  2. Функция f принимает в качестве аргумента имя файла и инициализирует переменные count, pred и current.
  3. Открывается файл с помощью функции fopen и проверяется его успешное открытие.
  4. В цикле while с помощью функции fscanf считываются числа из файла в переменную current.
  5. Если считанное число больше предыдущего, увеличивается счетчик count.
  6. После окончания цикла, функция возвращает значение счетчика count.
  7. В функции main создается команда для вызова функции f с аргументом ghost.txt и выводится результат в консоль.

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


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

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

15   голосов , оценка 4.333 из 5
Похожие ответы