Проверка на правильность расстановки скобок - C#

Узнай цену своей работы

Формулировка задачи:

Дан текст. Проверить, правильно ли в нем расставлены круглые скобки (т. е. находится ли справа от каждой открывающей скобки соответствующая ей закрывающая скобка, а слева от каждой закрывающей — соответствующая ей закрывающая). Предполагается, что внутри каждой пары скобок нет других скобок. а) Ответом должны служить слова да или нет. б) В случае неправильности расстановки скобок: если имеются лишние правые (закрывающие) скобки, то выдать сооб-щение с указанием позиции первой такой скобки; если имеются лишние левые (открывающие) скобки, то выдать сообще-ние с указанием количества таких скобок. Если скобки расставлены правильно, то сообщить об этом. первая рабочая часть есть
uses crt;
var
s:string;
i,m,n:integer;
begin
clrscr;
writeln('введите текст');
readln(s);
for i:=1 to length(s) do
m:=0;
n:=0;
if s[i]='(' then
m:=m+1;
if s[i]=')' then
n:=n+1;
if m=n then
writeln ('скобки расставлены неправильно') else
writeln ('скобки расставлены правильно');
readln;
end.

Решение задачи: «Проверка на правильность расстановки скобок»

textual
Листинг программы
using System;
 
class Program
{
    static void Main()
    {
        string s;
        while ((s = Console.ReadLine()) != null)
        {
            int brackets = 0;
            int i;
            for (i = 0; i < s.Length; i++)
            {
                if (s[i] == '(')
                {
                    brackets++;
                }
                else if (s[i] == ')' && --brackets < 0)
                {
                    break;
                }
            }
            Console.WriteLine(brackets);
            Console.WriteLine(i);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5
Похожие ответы