Advertisement
Guest User

najbolji

a guest
May 31st, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.68 KB | None | 0 0
  1. procedure Najbolji(ni:niz_igraca; ukI:integer);
  2.         var gk:igrac; df:niz_igraca; mf:niz_igraca; cf:niz_igraca;
  3.         pom:igrac;
  4.         i,j,k:integer;
  5. begin
  6.  
  7. gk.ocena := -1;
  8. for k:=1 to ukI do
  9.         if ((ni[k].pozicija=golman) AND (ni[k].ocena>gk.ocena) ) then
  10.                 begin
  11.                     gk:=ni[k];    
  12.                 end;
  13.  
  14. //zavrseno sa izborom golmana.
  15.  
  16. { slicna je procedura za odbranu, srednji red kao i za napad, samo sto ovde imamo niz igraca
  17.   koji sortiramo i pakujemo za formaciju 4-4-2. }
  18.   //ovaj prvi for ide od 1-4, jer ti trebaju 4 najbolja igraca za odbranu i sredinu
  19.   //umesto 4 mozes staviti da ti for ide do MAX_ODBRANA ili MAX_SREDINA. al radice samo ako imas isti broj igraca u odbrani i u sredini. Ako nije broj isti, onda stavis veci broj od ta dva.
  20.   for i:=1 to 4 do
  21.     begin
  22.       df[i].ocena := -1;
  23.       mf[i].ocena := -1;
  24.      
  25.       //kreces od i-tog mesta jer prvih i mesta zauzimaju vec najbolji igraci odbrane, one koje si pronasao
  26.       //ides do (ukI-i-1) jer se na kraju nalaze najbolji igraci sredine, one koje si nasao, zbog toga neces da ides do kraja niza. jer ce se tamo vec nalaziti najbolji igraci sredine.
  27.       for k:=i to (ukI-i-1) do
  28.         begin
  29.         //proveris da li je trenutni k-ti igrac u nizu bolji od odbrambenog igraca kog si nasao pre toga
  30.         if((ni[k].pozicija=odbrana) AND (ni[k].ocena>df[i].ocena)) then
  31.             begin
  32.                 df[i] := ni[k];
  33.                 //zamena mesta, stavljas ga na i-to mesto u nizu
  34.                 pom := ni[k];
  35.                 ni[k]:=ni[i];
  36.                 ni[i]:=pom;
  37.             end;
  38.         //isto samo za ove sto igraju sredinu
  39.         if((ni[k].pozicija=sredina) AND (ni[k].ocena>mf[i].ocena)) then
  40.             begin
  41.                 mf[i] := ni[k];
  42.                 //opet zamena mesta, al sad ne mozes stavljati na pocetak niza
  43.                 //jer se tamo nalaze odbrambeni igraci, pa cemo ove iz sredine stavljati na kraj niza
  44.                 pom := ni[k];
  45.                 ni[k]:=ni[ukI-i-1]; //-1 ide jer ako imas 30 igraca i oduzmes 1, prvog najboljeg igraca ces
  46.                                 //staviti na 29. mesto umesto na 30., da ne bi gubio to jedno mesto
  47.                                 //onda dodas jos to -1, i onda stavlja na 30. (odnosno poslednje) mesto u
  48.                                 //nizu
  49.                 ni[ukI-i-1]:=pom;
  50.             end;
  51.            
  52.         end;
  53.     end;
  54.  
  55. writeln('Idealan tim u formaciji 4-4-2 je: ');
  56. writeln;
  57. writeln('Golman: ');
  58. writeln(gk.ime,' ',gk.prezime,' sa ocenom: ', gk.ocena);
  59. writeln('Odbrana: ');
  60.  
  61. for i:=1 to MAX_ODBRANA do
  62.         writeln(df[i].ime, ' ',df[i].prezime, ' ', ' sa ocenom: ',df[i].ocena);
  63. writeln;
  64.  
  65. writeln('Sredina: ');
  66. for i:=1 to MAX_SREDINA do
  67.         writeln(mf[i].ime,' ',df[i].prezime,' ',' sa ocenom: ',mf[i].ocena);
  68. writeln;
  69.  
  70. writeln('Napad: ');
  71. for i:=1 to MAX_NAPAD do
  72.         writeln(cf[i].ime,' ',cf[i].prezime,' ',' sa ocenom: ',cf[i].ocena);
  73. writeln;
  74.  
  75. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement