Подсчитать количество чисел в последовательности больше предыдущего - 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
, после чего выполняется команда.
- В начале кода определяются необходимые заголовочные файлы.
- Функция
f
принимает в качестве аргумента имя файла и инициализирует переменныеcount
,pred
иcurrent
. - Открывается файл с помощью функции
fopen
и проверяется его успешное открытие. - В цикле
while
с помощью функцииfscanf
считываются числа из файла в переменнуюcurrent
. - Если считанное число больше предыдущего, увеличивается счетчик
count
. - После окончания цикла, функция возвращает значение счетчика
count
. - В функции
main
создается команда для вызова функцииf
с аргументомghost.txt
и выводится результат в консоль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д