Подсчет определенных символов из файла - C (СИ)
Формулировка задачи:
Разработать программу, принимающую на входе (в качестве параметра) файл,
написанный на языке высокого уровня. Во файле считается число символов "{" и "}" и
выводится на печать сообщение об ошибке, если они не равны между собой или не
сбалансированы.
Как это можно реализовать?
Решение задачи: «Подсчет определенных символов из файла»
textual
Листинг программы
while (true) //Пока не дошли до конца файла
{
ch = fgetc(f); // Считываем по одному символу
if (feof(f)) break;
if (ch == ch1) cnt++; //Если это тот символ, то увеличиваем счетчик этих символов
else if (ch == ch2) cnt1++; //Если это тот символ, то увеличиваем счетчик этих символов
}
Объяснение кода листинга программы
while (true)— это бесконечный цикл, который будет выполняться до тех пор, пока не будет выполнено условие выхода из цикла.ch = fgetc(f);— это считывание одного символа из файла с помощью функцииfgetc().if (feof(f)) break;— это проверка на достижение конца файла с помощью функцииfeof(). Если условие истинно, то выполняется операторbreak, который прерывает цикл.if (ch == ch1) cnt++;— это проверка, является ли текущий символ символомch1. Если это так, то увеличивается счетчикcnt.else if (ch == ch2) cnt1++;— это проверка, является ли текущий символ символомch2. Если это так, то увеличивается счетчикcnt1.- В конце цикла значения счетчиков
cntиcnt1будут содержать количество символовch1иch2в файле соответственно.