Cytat:
Napisany przez Patrix
Odkopuj***281; temat, poziom po kilku latach troszk***281; si***281; zmieni***322; wi***281;c...
mam napisa***263; program, kt***243;ry b***281;dzie dodawa***263; (wpisane przez u***380;ytkownika) do listy dwukierunkowej liczby a potem je wy***347;wieta***263; kolejno...
zrobi***322;em co***347; takiego:
Kod:
program test1;
uses crt;
type
t_lista_dwukierunkowa = ^lista_dwukierunkowa;
{-----------------------------------------------------}
lista_dwukierunkowa = record
nastepna : t_lista_dwukierunkowa;
poprzednia : t_lista_dwukierunkowa;
dana : integer;
end;
{-----------------------------------------------------}
var
lista : t_lista_dwukierunkowa;
temp : t_lista_dwukierunkowa;
liczba : integer;
{-----------------------------------------------------}
procedure do_listy;
begin
write('> Podaj liczbe: '); readln(liczba);
if lista = nil then
begin
new(lista);
lista^.nastepna := nil;
lista^.poprzednia := nil;
lista^.dana := liczba;
end
else
begin
new(temp);
temp^.nastepna := nil;
//skoro lista^.nastepna := temp, to musi:
temp^.poprzednia := lista;
lista^.nastepna := temp;
temp^.dana := liczba;
lista := temp;
end;
end;
{-----------------------------------------------------}
procedure wyswietl;
begin
temp := lista;
while temp^.poprzednia <> nil do
begin
write(temp^.dana);
temp := temp^.poprzednia;
end;
end;
{-----------------------------------------------------}
BEGIN
clrscr;
do_listy;
wyswietl;
readln;
END.
Wiem, ***380;e jestem blisko ale co***347; mi nie wychodzi...
|
Chociaz ja bym ja zacyklil. Listy dwukierunkowe sa fajniejsze jak sie je zacykla. Przynajmniej takie mam osobiste zdanie