Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Дана строка из символов '(' и ')'. Определить, является ли она корректным скобочным выражением. Определить максимальную глубину вложенности скобок.
- Пример “(()(()))” - строка корректная и максимум глубины равняется 3.
- Пример не верных строк: "(()", "())", ")(", "(()))(()"
- */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Основы.Практика
- {
- class Program
- {
- static void Main()
- {
- string userString;
- char openBracket = '(';
- char closedBracket = ')';
- int depth = 0;
- int maxDepth = 0;
- Console.Write("Введите строку: ");
- userString = Console.ReadLine();
- foreach (var symbol in userString)
- {
- if (symbol == openBracket)
- {
- depth++;
- }
- else if (symbol == closedBracket)
- {
- depth--;
- }
- if(depth < 0)
- {
- break;
- }
- if(depth > maxDepth)
- {
- maxDepth = depth;
- }
- }
- if (depth == 0)
- {
- Console.WriteLine("Является корректным скобочным выражением. Максимальная глубина: " + maxDepth);
- }
- else
- {
- Console.WriteLine("Не является корректным скобочным выражением");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement