Advertisement
Lavig

Другий семестр. Лабораторна робота №14-15 (Завдання 3)

Apr 20th, 2025
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.43 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <stack>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9.     SetConsoleOutputCP(1251);
  10.     SetConsoleCP(1251);
  11.     stack<char> s{};
  12.     string input{};
  13.     cout << "Введіть послідовність дужок: ";
  14.     getline(cin, input);
  15.     for (int i = 0; i < input.size(); i++) {
  16.         char part = input[i];
  17.         if (part == '(' || part == '[' || part == '{') {
  18.             s.push(part);
  19.         }
  20.         else if (part == ')' || part == ']' || part == '}') {
  21.             if (s.empty()) {
  22.                 cout << "Неправильна послідовність дужок" << endl;
  23.                 return 0;
  24.             }
  25.             char top = s.top();
  26.             s.pop();
  27.             if ((top == '(' && part != ')') ||
  28.                 (top == '[' && part != ']') ||
  29.                 (top == '{' && part != '}')) {
  30.                 cout << "Неправильна послідовність дужок" << endl;
  31.                 return 0;
  32.             }
  33.         }
  34.         else {
  35.             cout << "У введеному рядку присутні сторонні символи" << endl;
  36.             return 0;
  37.         }
  38.     }
  39.     if (s.empty()) {
  40.         cout << "Правильна послідовність дужок" << endl;
  41.     }
  42.     else {
  43.         cout << "Неправильна послідовність дужок" << endl;
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement