Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <time.h>
- struct sedzia{
- char *nazwisko;
- int index;
- };
- struct wezel{
- struct sedzia *wsk;
- struct wezel *next;
- };
- void dodaj (struct wezel **poczatek, int *liczba){
- struct wezel *tmp;
- char bufor[20];
- int dlugosc;
- tmp=(struct wezel*)malloc(sizeof(struct wezel));
- tmp->wsk=(struct sedzia*)malloc(sizeof(struct sedzia));
- getchar();
- printf("Podaj nazwisko sedziego: ");
- fgets(bufor, 20, stdin);
- dlugosc=strlen(bufor);
- tmp->wsk->nazwisko=(char *)malloc(sizeof(char)*(dlugosc+1));
- strcpy(tmp->wsk->nazwisko, bufor);
- printf("Podaj identyfikator sedziego: ");
- scanf("%d", &(tmp->wsk->index));
- tmp->next=*poczatek;
- *poczatek=tmp;
- *liczba=*liczba+1;
- }
- void wyswietl (struct wezel *poczatek){
- struct wezel *tmp;
- tmp=poczatek;
- while (tmp != NULL){
- printf("Nazwisko: %s\n", tmp->wsk->nazwisko);
- printf("Identyfikator: %d\n", tmp->wsk->index);
- tmp=tmp->next;
- }
- }
- void losuj (struct wezel *poczatek, int liczba){
- int zarodek, i, j,a,m,losowany,b, nd;
- int **druzyny;
- struct wezel *tmp;
- m=0;
- printf("Podaj liczbe druzyn: ");
- scanf("%d", &nd);
- druzyny=(int **)malloc(nd*sizeof(int *));
- for (i=nd-1, j=0; i>0 && j<nd; i--, j++){
- *(druzyny+j)=(int *)malloc(i*sizeof(int));
- for (b=0; b<i; b++){
- zarodek=time(NULL);
- srand(zarodek);
- a=rand()%liczba;
- tmp=poczatek;
- while((m <= a) && (tmp!=NULL)){
- losowany=tmp->wsk->index;
- m++;
- tmp=tmp->next;
- }
- *(*(druzyny+j)+b)=losowany;
- printf("Druzyna %d i druzyna %d, sedzia: %d\n", j+1, j+b+2, losowany);
- }
- }
- }
- int main(void){
- struct wezel *poczatek;
- int wybor, liczba;
- poczatek=NULL;
- liczba=0;
- while (wybor != 0){
- printf("1) Dodaj sedziego\n");
- printf("2) Wyswietl liste\n");
- printf("3) Losuj\n");
- printf("0) Wyjdz\n");
- scanf("%d", &wybor);
- if (wybor==1){
- dodaj(&poczatek, &liczba);
- }
- if (wybor==2){
- wyswietl(poczatek);
- }
- if (wybor==0){
- break;
- }
- if (wybor==3){
- losuj(poczatek, liczba);
- }
- wybor=-1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement