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

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

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

 
 Ответить  Открыть новую тему 
> реализовать стек из записей, срочно нужно...помогите плиз
сообщение
Сообщение #1


Новичок
*

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

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


посмотрите пожалуйста программу и помогите сделать задание....не получается у меня cray.gif
вот задание: Реализовать стек, содержащий записи, состоящие из двух полей: названия города и года основания. Напечатать в порядке, обратном поступлению, сначала все древние города (древнее заданного года), а затем более молодые

Program LR1;    Uses Crt;
Type
PStruct = ^Struct;
Struct = Record
GR : String[12];
NM : 1600 .. 2000;
Ptr : PStruct;
inf : integer;
End;
Const C : Array [1..7] of string[40] = (
' ',
' Towns of Riga ',
'ХННННННННННННСННННННННННННё',
'іName of TownіYear of Baseі',
'ЖННННННННННННШННННННННННННµ',
'ГДДДДДДДДДДДДЕДДДДДДДДДДДДґ',
'ФННННННННННННПННННННННННННѕ' );
Var Stack : PStruct;
h, Year : integer;
Fi, Fr : Text;
m : byte;

Procedure Sh;
Begin
For m := 1 to 5 do Writeln (Output, C[m]);
End;

Procedure P (Z1 : Struct);
Begin
Writeln (Output, 'і', Z1.GR :12 , 'і' :1 , Z1.NM , ' і':9);
End;

Procedure Push (Var S : PStruct; e : integer);
Var z : PStruct;
Begin
z^.ptr := S;
z^.inf := e;
S := z;
End;

Function Pop (S : PStruct) : Integer;
Var z : PStruct;
Begin
If S = Nil then
Begin
Writeln ('stek pust');
end else
Begin
z := S;
S := S^.ptr;
Pop := z^.inf;
End;
end;

Procedure Vivod;
Var S : PStruct;
Begin S := Stack;
While S <> Nil do begin
P(S^);
S := S^.Ptr;
{If S <> Nil then Writeln (Output, C[6])
else Writeln (Output, C[5]); }
End;
End;

Procedure Dop (Var S : PStruct; Dat : integer);
Var Nov : PStruct;
Begin New (Nov);
Nov^.inf := Dat; Nov^.Ptr := Stack; Stack := Nov;
End;

Procedure Vvod;
Var Z : Struct;
Begin
Assign (Fi, 'ishodnie.dat'); Reset (Fi);
Writeln (#10#13, 'Zapolnenie steka novimi zapisami', #10#13);
While not Seekeof (Fi) do
with Z do begin
Readln (Fi, GR, NM);
P(Z); Dop (Stack, h);
End;
Close (Fi);
End;

Function Cht (S : PStruct) : Integer;
Begin
If S <> nil Then Cht := S^.inf
End;

Procedure Ud (Var S : PStruct);
Var Old : PStruct;
Begin If S <> Nil then Begin
Old := S; S := S^.Ptr; {P(Old^);}
Dispose (Old); end
End;

{----- -----}
Begin CLRSCR;
Assign (Output, ''); Rewrite (Output);
Stack := Nil;
Writeln ('Proverka pustoti steka');
Sh;
Cht(Stack);
Ud(Stack);
Vvod;
Vivod;

Writeln (#10#13, 'Chtenie i udalenie zapisey iz steka', #10#13);
while Stack <> Nil do
Begin Cht (Stack);
Ud (Stack);
End;
Writeln (#10#13, 'Vvedite god osnovania goroda');
Read(Year);
Cht (Stack);
Ud (Stack);
{Push (Stack,h);}
Close (Output);
readln;
end.


Сообщение отредактировано: Lapp -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(serega204 @ 23.10.2009 19:31) *
не получается у меня
Что именно не молучается? В каком месте? Что, нам нужно самим об этом догадываться?.. blink.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


у меня не получается вывести элементы записи согсасно заданию....помоему чего-то в процедуре вывода не хватает....только не знаю чего
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 23.12.2024 19:55
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name