Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program los;
- uses crt,dos;
- type
- rekordziki = record
- nazwa : string;
- zKim : char;
- end;
- type
- rekordziki2 = record
- nazwa : string;
- grupa : char;
- ileGra : byte;
- end;
- var
- t : text;
- linia,abcW,abc : string;
- ilUcz,losG,i,jestP,ileMaByc,bylo,jest,ileJest,grOst,skNa,x1,x2 : byte;
- gr : char;
- gracz : array [1..100] of rekordziki;
- graczG : array [1..100] of rekordziki2;
- begin clrscr;
- if fSearch('gracze.txt','') = '' then begin
- assign(t,'gracze.txt');
- rewrite(t);
- close(t);
- writeln('Wklej do pliku gracze.txt liste graczy (jeden nick na jedna linijke)');readkey;
- end;
- assign(t,'gracze.txt');
- reset(t);
- ilUcz:=0;
- REPEAT
- readln(t,linia);
- if linia<>'' then begin ilUcz:=ilUcz+1;gracz[ilUcz].nazwa:=linia;end;
- UNTIL eof(t);
- close(t);
- write('Ile osob maja miec grupy? Wpisz: ');REPEAT readln(ileMaByc);UNTIL ileMaByc mod 2=0;
- if ilUcz<ileMaByc then begin
- write('Liczba graczy nie pozwala na stworzenie ani jednej druzyny!');delay(2000);halt;
- end;
- abcW:='ABCDEFGHIJKLMNOPRSTUVWXYZabcedfghijklmnoprstuvwxyz';
- for i:=1 to ilUcz do begin abc[i]:=abcW[i];gracz[i].zKim:='!';end;
- randomize;
- jestP:=0;i:=1;
- assign(t,'pods.txt');
- rewrite(t);
- jestP:=0;
- ileJest:=0;
- REPEAT
- bylo:=0;jestP:=jestP+1;
- gr:=abc[jestP];
- if jestP>1 then writeln(t,'###################');
- writeln(t,'GRUPA ',gr);
- REPEAT
- jest:=0;
- REPEAT
- losG:=random(ilUcz)+1;
- if gracz[losG].zKim='!' then begin
- gracz[losG].zKim:=gr;jest:=1;bylo:=bylo+1;ileJest:=ileJest+1;
- graczG[ileJest].nazwa:=gracz[losG].nazwa;
- graczG[ileJest].grupa:=gracz[losG].zKim;
- writeln(t,graczG[ileJest].nazwa);
- end;
- UNTIL jest=1;
- UNTIL bylo=ileMaByc;
- UNTIL jestP = ilUcz div ileMaByc;
- grOst:=0;
- if ilUcz mod ileMaByc <>0 then begin
- writeln(t,'###################');
- writeln(t,'GRUPA ',abc[(ilUcz div ileMaByc)+1]);
- for i:=1 to ilUcz do begin
- if gracz[i].zKim='!' then begin
- ileJest:=ileJest+1;grOst:=grOst+1;skNa:=ileJest-grOst+1;graczG[ileJest].nazwa:=gracz[i].nazwa;graczG[ileJest].grupa:=gracz[i].zKim;
- writeln(t,graczG[ileJest].nazwa);
- end;
- end;
- writeln(t,'@@@@@@@@@@@@@@@@@@');
- close(t);
- end;
- i:=0;
- append(t);
- writeln(t,'Losowania meczy:');
- REPEAT
- if i>0 then writeln(t,'###################');
- writeln(t,'GRUPA ',abc[i+1]);
- for x1:=1+i*ileMabyc to ileMaByc*i+ileMaByc do begin
- for x2:=1+i*ileMabyc to ileMaByc*i+ileMaByc do begin
- if (x1<>x2)AND(graczG[x1].ileGra<ileMaByc-1)AND(graczG[x2].ileGra<ileMaByc-1) then begin
- graczG[x1].ileGra:=graczG[x1].ileGra+1;
- graczG[x2].ileGra:=graczG[x2].ileGra+1;
- writeln(t,graczG[x1].nazwa,' VS ',graczG[x2].nazwa);
- end;
- end;
- end;
- i:=i+1;
- UNTIL i = ilUcz div ileMaByc;
- close(t);
- if ilUcz mod ileMaByc <>0 then begin
- append(t);
- writeln(t,'GRUPA ',abc[i+1]);
- for x1:=skNa to skNa+grOst do begin
- for x2:=skNa to skNa+grOst do begin
- if (x1<>x2)AND(graczG[x1].ileGra<grOst-1)AND(graczG[x2].ileGra<grOst-1) then begin
- graczG[x1].ileGra:=graczG[x1].ileGra+1;
- graczG[x2].ileGra:=graczG[x2].ileGra+1;
- writeln(t,graczG[x1].nazwa,' VS ',graczG[x2].nazwa);
- end;
- end;
- end;
- close(t);
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment