IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Стек, Помогите исправить программу
Neon6868
сообщение 15.04.2007 13:35
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 146
Пол: Мужской

Репутация: -  0  +


Задание: С клавиатуры вводится текст, содержащий 4 вида скобок: (, {, [, <
Надо проверить, правильно ли расставлены скобки.Для этого, сначала надо проверить, чтобы после открывающейся скобки обязательно была закрывающаяся и чтобы соблюдались вложения скобок(т.е. например вот так (----{--)--} нельзя!). Если обнаружена скобка, то она записывается в стек.В конце програмы выводится сообщение, правильно или неправильно расставлены скобки.Если скобок в тексте нет, то вывести сообщение скобок нет.

Программа:
 
Program Stek;
const
n=1;
type
tes=1..n;
stackl=^node;
node=record
data:tes;
next:stackl
end;
var
str:string;
Function EmptyStack(var ST:stackl):boolean;
Begin
Emptystack:=st^.data=0
End;
Procedure PushSC(var STCL:stackl;x:TES);
var
P:stackl;
Begin
new(p);
p^.data:=x;
if emptyStack(STCL) then STCL:=p
else p^.next:=stcl^.next;
stcl^.next:=p;
End;
Begin
writeln('Vvedite stroku:');
readln(str);
if str='(' or '{' or '[' or '<' then pushSC();
End.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Neon6868   Стек   15.04.2007 13:35
Артемий   А можно поинтересоваться, что именно вызывает затр...   15.04.2007 13:49
мисс_граффити   я бы делала так: нашли открывающуюся скобку - засу...   15.04.2007 13:55
Neon6868   А нельзя сделать так, чтобы из стека ничего не уда...   15.04.2007 14:30
Артемий   Допустим заносим открывшуюся скобку в стэк - если...   15.04.2007 14:44
мисс_граффити   Артемий, реализуем твой алгоритм. строка: (----{--...   15.04.2007 15:19
Neon6868   А как тогда искать скобки в тексте?   15.04.2007 18:35
мисс_граффити   const skobki=['(','{','[']...   15.04.2007 18:59
volvo   А в поиске был? Когда-то по этой теме на форуме да...   15.04.2007 19:27
Neon6868   А в поиске был? Когда-то по этой теме на форуме д...   15.04.2007 23:30
Neon6868   Помогите кто-нибудь исправить и переделать програм...   20.04.2007 16:42
Neon6868   Я вот сделал, посмотрите пожалуйста нельзя ли прощ...   20.04.2007 22:53
мисс_граффити   1. case s[i] of '(':begin ...   21.04.2007 1:01
Neon6868   Вот переделал. Теперь нормально?? Program Skobki...   21.04.2007 13:34
мисс_граффити   моя ошибка... if ((s[i] in [']','}...   21.04.2007 16:29
Neon6868   моя ошибка... if ((s[i] in [']','}...   21.04.2007 16:34
klem4   Ну во первых ты память забываешь освободить, стек ...   21.04.2007 18:05


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 2.06.2024 14:41
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"