Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- //Wykorzystując stos napisz metodę sprawdzającą czy wyrażenie ma prawidłowo wpisane nawiasy.
- //Przykład:
- //"a=)x]i[+5(*y;" - błąd
- //"a=(x[i]+5)*y;" - OK
- //"a=(x[i)+5]*y;" - błąd
- //"a=(x(i]+5]*y;" - błąd
- class Program
- {
- static bool CzyPoprawne(string w)
- {
- Stack<char> s = new Stack<char>();
- for (int i = 0; i < w.Length; i++)
- {
- if (w[i] == '(' || w[i] == '[') s.Push(w[i]);
- if (w[i] == ')')
- {
- if (s.Count == 0) return false;
- if (s.Pop() != '(') return false;
- }
- if (w[i] == ']')
- {
- if (s.Count == 0) return false;
- if (s.Pop() != '[') return false;
- }
- }
- //powinien stos byc pusty
- if (s.Count == 0)
- return true;
- else
- return false;
- }
- static void Main(string[] args)
- {
- Console.WriteLine(CzyPoprawne("a=)x]i[+5(*y;"));
- Console.WriteLine(CzyPoprawne("a=(x[i]+5)*y;"));
- Console.WriteLine(CzyPoprawne("a=(x[i)+5]*y;"));
- Console.WriteLine(CzyPoprawne("a=(x(i]+5]*y;"));
- Console.ReadKey();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement