Задача: Дан текстовый файл, содержащий программу на языке С. Проверить эту программу на соответствие числа открывающих и закрывающих фигурных скобок.
Решение:
#include <iostream> #include <fstream> using namespace std; void main() { setlocale(LC_ALL, "Russian"); int opened = 0;//количество открывающих скобок { ifstream infile("prog.txt");//открытие потока для чтения while(!infile.eof())//пока файл не достигнет конца { if(infile.get() == '{') //берем 1 символ и сравниваем со скобкой opened++; if(infile.get() == '}') opened--; } infile.close();//закрытие потока для чтения if(opened != 0) { cout << "Проверьте расстановку "; if(opened < 0) cout << "открывающих"; if(opened > 0) cout << "закрывающих"; cout << " скобок в программе!" << endl; } else cout << "Все скобки расставлены" << endl; }
Содержание файла prog.txt:
#include <iostream> using namespace std; void main() { for(int i = 0; i < 10; i++) { cout << "Hello, World!" << endl; } }
Получайте новые статьи блога прямо себе на почту