Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 2.2.cpp : This file contains the 'main' function. Program execution begins and ends there.
- // Даден е низ, съдържащ отварящи и затварящи скоби от различни типове
- // Напишете програма, която да определи дали скобите са правилно затворени
- // Скобите сот различни типове не могат да се пресичат
- // Пример [(<>)] - правилно
- // ([]<)> - Не се правилно
- #include <iostream>
- #include <stack>
- using namespace std;
- char allOpen[] = { '{', '[', '<', '(' };
- char allClosed[] = { '}', ']', '>', ')' };
- //string inputString = "[<>]]";
- int numBrackets = 4;
- int bracesNum = 0;
- int lastType = 0;
- stack<char> st;
- int main()
- {
- string inputString = "[<>]";
- stack <char> st;
- bool openCheck = false;
- for(char s: inputString)
- {
- for(int i :allOpen)
- {
- if (s == allOpen[i])
- {
- st.push(s);
- lastType = i;
- openCheck = true;
- }
- }
- if(openCheck == false)
- {
- for (int i : allClosed)
- {
- if (s == allClosed[i] && st.top()+2 == s)
- {
- if (!st.empty())
- {
- cout << st.top() << endl;
- st.pop();
- }
- else
- {
- cout << "Ne sa pravilno zatvoreni" << endl;
- }
- }
- }
- }
- }
- if(st.empty() == true)
- {
- cout << "Pravilno zatvoreni" << endl;
- }
- else
- {
- cout << "Ne sa pravilno zatvoreni2" << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement