Проверка на правильность расстановки скобок - 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д