turu3
26.05.07, 21:30
Witam. Muszę napisać program, który tworzy listę 10 losowych liczb i wypisuje
listę na ekrean, na podstawie podanych słownie opisów procedur
type wsk=^rec
rec=record
liczba:integer;
next:wsk;
end;
var lista:wsk;
procedure tworz liste(var poczatek:wsk);
var pom, koniec:wsk;
i:integer;
begin
zainicjuj pom;
do pola liczba rekordu wskazywanego przez pom przypisz losową liczbę;
niech początek wskazuje na to samo co pom;
niech koniec wskazuje na to samo so pom;
niech pole next rekordu wskazywanego przez pom wskazuje na nil;
{mamy na liście jeden element}
for i:=2 to 10 do}
begin
zainicjuj pom;
do pola liczba rekordu wskazywanego przez pom przypisz losową liczbę;
niech pole next rekordu wskazywanego przez koniec wskazuje na pom;
niech koniec wskazuje na to samo co pom;
niech pole next rekordu wskazywanego przez pom wskazuje na nil;
end;
end;
procedure wypisz_liste(element:wsk);
begin
dopóki elementy<>nil rób
begin
wypisuj pole liczba rekordu na który wskazuje element;
niech element wskazuje na następny rekord na liście;
end;
end;
var lista:wsk;
begin
niech zmienna lista wskazuje na nil;
twórz liste(lista);
wypiszlistę(lista);
end.
Na razie mam tyle:
procedure tworz liste(var poczatek:wsk);
var pom, koniec:wsk;
i:integer;
begin
new(pom);
pom^:=random(100);
poczatek:=pom^;
koniec:=pom;
pom^.next:=nil;
for i:=2 to 10 do;
begin
new(pom);
pom^:=random(100);
koniec^.next:=pom^;
koniec^:=pom^;
pom^.next:=nil;
end;
end;
procedure wypisz_liste(element:wsk);
begin
while element<>nil do
begin
???
???
end;
var lista:wsk;
begin
lista^:=nil;
twórz_liste(lista);
wypisz_listę(lista);
end.
mógłby ktos ocenić, wytknąć błędy i ewentualnie pomóc? smilies/wink.gif