[ hodac @ 17.01.2003. 10:59 ] @
napisati paskal program za pracenje glasanja na muzickom festivalu
svaka pesma dobija ocenu zirija od 0 do 10,
program treba da omoguci unos naziva pesme
nazive izvodjaca, i broj osvojenih bodova, kao i
izlistavanje rezultata po opadajucem broju bodova.
Da ja jos dodam da treba napraviti klasican meni, tipa glasaj, rezultat izlaz i sl.Da prilikom glasanja treba da se izbacuje trenutno stanjke na tabeli.I glavno od svega je da sve ovo treba uraditi pomocu listi(Pointera).
I zamolio bih samo da se iskomentarise deo sa listama.
[ hodac @ 21.01.2003. 13:02 ] @
Bilo ko, bar proceduru , za ubacivanje i istovremeno sortiranje.
[ overflow @ 21.01.2003. 14:52 ] @
Iz glave ...

Code:

ako je lista prazna (nema cvorova) dodaj element
else
begin
   postavi tek na pocetak liste;
   ispitaj da li je element koji hoces da ubacis < od tekuceg ako jeste postavi sled 
   elementa na glavu, glavu na tek, exit
   else begin
      tek na sledeci;
      pre na glavu;
      while (tek<>nil) do
      begin
         ako je element < od tekuceg postavi sled elementa na tek a sled pre na 
         element i exit;
         tek sledeci;
         pre sledeci;
      end;
      tek sled na element;
      element sled na nil;
   end;
end;
[ hodac @ 22.01.2003. 00:48 ] @
Procedure sortl; {Sortirane}
var
nw,temp:Pokazivac;
Procedure citajd(var nw:Pokazivac;autor,pesma:string); {Sluzi za glasanje, da se u slog ubaci bodovi}
begin
nw^.sledeci:=nil;
writeln ('Molimo vas ocenite datu pesmu ocenom od 1 d0 10');
writeln(autor:14,':',pesma);
readln(nw^.bodovi);{Ovo treba da se pobojsa u kasnijoj reviziji
tako sto nece menajti vrednost vec sabirati}
end;
Begin
if (prvi<>nil) then isprazni(prvi); {Oslobodi memoriju}}

new(prvi);
nw:=nil;
{Ovde treba da se postovi nesto za uslov while ili repeat}
new(nw);
ispis(prvi);{Treba da ostampam stanje na tabeli pre glasanja}
citajd(nw);
IF (prvi^.bodovi > nw^.bodovi) THEN {Ako je veci od prvog ubaci ga iza prvog}
linkovanje(prvi,nw)
ELSE
BEGIN
temp:=prvi;
while (temp^.sledeci <> NIL) AND (temp^.sledeci^.bodovi < nw^.bodovi) do temp:=temp^.sledeci;
{A ako nije nastavi sekvencijalno}
dodajl(temp^.sledeci,nw); END;
end;
temp:=nil;
end;


END;



Imam problem jer ne kontam kako da razdvojim ubacivanje naziva svih autora i pesama pa tek posle glasanje.U tome mi je problem.
[ hodac @ 24.01.2003. 12:33 ] @
Hvala , uradio sam ga.Moze da se zakljucava.