Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Why do not work?
program Skokovi; type pok=^elem; zapis=record ime,prezime:string; D,S1,S2,S3,S4:real end; elem=record podatak:zapis; ocjena:real; next:pok end; var lista:pok; procedure procitajime(var imenica:string); var znak:char; begin read(znak); imenica:=''; while (znak<>' ') do begin imenica:=imenica+znak; read(znak) end end; procedure ucitavanje(var lista:pok); var prethodnik,novi:pok; i:integer; begin for i:=1 to 5 do begin new(novi); procitajime(novi^.podatak.ime); procitajime(novi^.podatak.prezime); readln(novi^.podatak.D,novi^.podatak.S1,novi^.podatak.S2,novi^.podatak.S3,novi^.podatak.S4); if (lista=nil) then begin lista:=novi; prethodnik:=novi end else begin prethodnik^.next:=novi; prethodnik:=novi end; prethodnik^.ocjena:=prethodnik^.podatak.D*(prethodnik^.podatak.S1+prethodnik^.podatak.S2+prethodnik^.podatak.S3+prethodnik^.podatak.S4)/4 end end; procedure diskvalifikovani(var lista:pok); var pom,preth:pok; k:real; begin writeln('Uneite najmanji dozvoljeni skok: '); read(k); pom:=lista; preth:=nil; while (pom<>nil) do begin if (pom^.podatak.D<k) then begin if (preth<>nil) then begin preth^.next:=pom^.next; dispose(pom); pom:=preth^.next end else begin pom:=pom^.next; dispose(lista); lista:=pom end end else begin preth:=pom; pom:=pom^.next end end end; procedure uredineopadajuce(var lista:pok); var pom1,pom2,pomocni:pok; begin pom1:=lista; while (pom1<>nil) do begin pom2:=pom1^.next; while (pom2<>nil) do begin if (pom1^.ocjena<pom2^.ocjena) then begin new(pomocni); pomocni^.podatak:=pom1^.podatak; pomocni^.ocjena:=pom1^.ocjena; pom1^.podatak:=pom2^.podatak; pom1^.ocjena:=pom2^.ocjena; pom2^.podatak:=pomocni^.podatak; pom2^.ocjena:=pomocni^.ocjena end; pom2:=pom2^.next end; pom1:=pom1^.next end end; procedure obrada(var lista:pok); begin diskvalifikovani(lista); uredineopadajuce(lista) end; procedure upis(var lista:pok); var pom:pok; s:real; n:integer; begin pom:=lista; s:=0.0; n:=0; while (pom<>nil) do begin writeln(pom^.podatak.ime,' ',pom^.podatak.prezime,' '.,pom^.ocjena:0:2); n:=n+1; s:=s+pom^.ocjena; pom:=pom^.next end end; procedure obrisilistu(var lista:pok); var pom:pok; begin pom:=lista^.next; while (lista<>nil) do begin dispose(lista); lista:=pom; pom:=lista^.next end end; begin lista:=nil; ucitavanje(lista); upis(lista); obrada(lista); upis(lista); obrisilistu(lista) end.
run
|
edit
|
history
|
help
0
matrix - changing upper diagonal elements
digits_count
jugando v2
1
b2
homework
Урок 2. Функции: abs, round, trunc, int, frac
sorting_direct_choise_no_optimized
P170808A
p1