Advertisement
Torgach

parenthesis expression

Oct 10th, 2022 (edited)
1,109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.88 KB | None | 0 0
  1. /*Дана строка из символов '(' и ')'. Определить, является ли она корректным скобочным выражением. Определить максимальную глубину вложенности скобок.
  2. Пример “(()(()))” - строка корректная и максимум глубины равняется 3.
  3. Пример не верных строк: "(()", "())", ")(", "(()))(()"
  4. */
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10.  
  11. namespace Основы.Практика
  12. {
  13.     class Program
  14.     {
  15.         static void Main()
  16.         {
  17.             string userString;
  18.             char openBracket = '(';
  19.             char closedBracket = ')';
  20.             int depth = 0;
  21.             int maxDepth = 0;
  22.  
  23.             Console.Write("Введите строку: ");
  24.             userString = Console.ReadLine();
  25.  
  26.             foreach (var symbol in userString)
  27.             {
  28.                 if (symbol == openBracket)
  29.                 {
  30.                     depth++;
  31.                 }
  32.                 else if (symbol == closedBracket)
  33.                 {
  34.                     depth--;
  35.                 }
  36.  
  37.                 if(depth < 0)
  38.                 {
  39.                     break;
  40.                 }
  41.  
  42.                 if(depth > maxDepth)
  43.                 {
  44.                     maxDepth = depth;
  45.                 }
  46.             }
  47.  
  48.             if (depth == 0)
  49.             {
  50.                 Console.WriteLine("Является корректным скобочным выражением. Максимальная глубина: " + maxDepth);
  51.             }
  52.             else
  53.             {
  54.                 Console.WriteLine("Не является корректным скобочным выражением");
  55.             }
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement