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

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

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

 
 Ответить  Открыть новую тему 
> ошибка в проге со стеками
pheonix
сообщение 10.04.2007 18:09
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской
Реальное имя: Филюс

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


помогите плиз очень надо
прога написана,вроде алгоритм правильный но где то ошибки и недочеты

Program stek_1;
type
Telem =integer;
ukaz = ^zweno;
zweno =record
ELem: Telem;
next:ukaz;
end;
stek=ukaz;
var ust,ust1,ust2,ust3,g,g1,g2,g3:ukaz;
a,EL,EL1,EL2,EL3:Telem;
min1,min2,min3:integer;
procedure wstek(var ust:stek; Nelem:Telem);
var g:ukaz;
begin
New(g);
g^.Next:=ust;ust:=g{?}
end;
procedure Isstek (var ust:stek; var a:Telem);
var g:ukaz;
begin
if ust =nil then
writeln('попытка выбора из пустого стека ')
else
begin
a:=ust^.Elem;
g:=ust;
ust:=ust^.next; dispose(g)
end ;
end;
Function outstak (var dukaz:ukaz):Telem; {?}
var EL:ukaz;
begin
outstak:=dukaz^.Elem;
EL:=dukaz;
dukaz:=dukaz^.next;
dispose(EL);
end;
BEGIN
ust1:=nil;ust2:=nil;ust3:nil;
writeln('введите элементы стека ч/з пробел, 0 и enter завершает ввод ');
read (EL1);
while EL1<=>0 do
begin
wstek(ust1,EL1);
read(EL2);
end;
writeln;
writeln(введите элементы стека ч/з пробел, 0 и enter завершает ввод');
read (EL2);
while EL2<>0 do
begin
wstek(ust2,EL2);
read(EL2);
end;
writeln;
writeln('введите элементы стека ч/з пробел, 0 и enter завершает ввод');
read (EL3);
while EL3<>0 do
begin
wstek(ust3,EL3);
read(EL3);
end;
writeln;
min1:=outstak(g1);
while g1<>nil do begin
EL1:=Outstak(g1);
if(EL1<>min1)then min1:EL1;
end;
min2:=outstak(g2);
while g2<>nil do begin
EL2:=Outstak(g2);
if(EL2<>min2)then min2:EL2;
end;
min3:=outstak(g3);
while g3<>nil do begin
EL3:=Outstak(g3);
if(EL3<>min3)then min3:EL3;
end;
if (min1<=min2)then
begin
while (g2<>nil) and (g3<>nil) do
begin EL2:=outstak(g2);
EL3:=outstak(g3);
end{?}
if (EL2>EL3) then
begin
while ust1<>nil do
begin
Isstek(ust1,EL1);
wstek(ust2,EL2);
end{?}
writeln;
while ust2<>nil do
begin
Isstek(ust2,EL2);
write(EL2,' ');
end;
writeln;
end;
else
begin
while ust1<>nil do
begin
Isstek(ust1,EL1);
wstek(ust3,EL3);
end{?}
writeln;
while ust3<>nil do
begin
Isstek(ust3,EL3);
write(EL3,' ');
end;
writeln;
end;
else
begin
EL1:=outstak(g1);
EL3:=outstak(g3);
end{?}
if (EL1>=EL3) then
begin
while ust2<>nil do
begin
Isstek(ust2,EL2);
wstek(ust1,EL1);
end{?}
writeln;
while ust1<>nil do
begin
Isstek(ust1,EL1);
write(EL1,' ');
end;
writeln;
end;
else
begin
while ust2<>nil do
begin
Isstek(ust2,EL2);
wstek(ust3,EL3);
end{?}
writeln;
while ust3<>nil do
begin
Isstek(ust3,EL3);
write(EL3,' ');
end;
writeln;
end;
end;end;
if (min1>=min3)and(min2>=min3) then
begin
while (g1<>nil) and (g2<>nil) do
begin EL1:=outstak(g1);
EL2:=outstak(g2);
end{?}
if (EL1>EL2) then
begin
while ust3<>nil do
begin
Isstek(ust3,EL3);
wstek(ust1,EL1);
end{?}
writeln;
while ust1<>nil do
begin
Isstek(ust1,EL1);
write(EL1,' ');
end;
writeln;
end;
else
begin
while ust3<>nil do
begin
Isstek(ust3,EL3);
wstek(ust2,EL2);
end{?}
writeln;
while ust2<>nil do
begin
Isstek(ust2,EL2);
write(EL2,' ');
end;
writeln;
end;
end;
end.




или вот файл сам

Сообщение отредактировано: pheonix - 10.04.2007 18:46


Прикрепленные файлы
Прикрепленный файл  STAK1.PAS ( 3.44 килобайт ) Кол-во скачиваний: 166
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 10.04.2007 18:25
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Ты считаешь, это реально читать и отлаживать?
Будь добр, сделай человеческие отступы.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pheonix
сообщение 10.04.2007 18:49
Сообщение #3





Группа: Пользователи
Сообщений: 2
Пол: Мужской
Реальное имя: Филюс

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


Цитата(мисс_граффити @ 10.04.2007 21:25) *

Ты считаешь, это реально читать и отлаживать?
Будь добр, сделай человеческие отступы.

я попробовал,но у мня кругом голо blink.gif ва пошла,сразу запутался
а если в самом файле посмотреть?
я прирепил его
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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