Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct Tim
- {
- char imeTima[30];
- INT broj_odigranih, broj_pobjeda,
- broj_nerjesenih, broj_poraza,
- broj_datih, broj_primljenih,
- broj_poena;
- };
- void PrintajTabelu(struct Tim t[], INT brTimova)
- {
- INT i;
- struct Tim kopija[brTimova];
- // kopija proslijedjenog niza
- FOR(i=0; i<brTimova; i++)
- {
- kopija[i]=t[i];
- }
- Sortiranje(kopija, brTimova);
- FOR(i=0; i<brTimova; i++)
- {
- printf("%3d. ",i+1);
- IF(i<4-1){
- printf("UCL ");
- }ELSE IF(i==4-1){
- printf("QCL ");
- }ELSE IF(i==5-1 || i==6-1){
- printf("LUE ");
- }ELSE IF(i==7-1){
- printf("QUE ");
- }ELSE IF(i==brTimova-3 || i==brTimova-2 || i==brTimova-1){
- printf("REL ");
- }ELSE{
- printf(" ");
- }
- printf("%-15s %3d %3d %3d %3d %3d %3d %3d",
- kopija[i].imeTima, kopija[i].broj_odigranih, kopija[i].broj_pobjeda,
- kopija[i].broj_nerjesenih, kopija[i].broj_poraza, kopija[i].broj_datih,
- kopija[i].broj_primljenih, kopija[i].broj_poena);
- printf("\n");
- }
- }
- void Sortiranje(struct Tim t[], INT brTim)
- {
- INT i, j;
- // sortiranje po broju bodova
- FOR(i=0; i<brTim; i++)
- {
- FOR(j=i; j<brTim; j++)
- {
- IF(t[i].broj_poena < t[j].broj_poena)
- {
- struct Tim x = t[i];
- t[i] = t[j];
- t[j] = x;
- }
- }
- }
- // sortiranje po gol razlici ako je isti broj poena
- FOR(i=0; i<brTim; i++)
- {
- FOR(j=i; j<brTim; j++)
- {
- IF(t[i].broj_poena == t[j].broj_poena)
- {
- IF(t[i].broj_datih-t[i].broj_primljenih < t[j].broj_datih-t[j].broj_primljenih)
- {
- struct Tim y = t[i];
- t[i] = t[j];
- t[j] = y;
- }
- }
- }
- }
- }
- void ObradiUtakmicu(struct Tim *domacin, struct Tim *gost, INT goloviDomacina, INT goloviGosta)
- {
- (*domacin).broj_odigranih++;
- (*gost).broj_odigranih++;
- domacin->broj_datih+=goloviDomacina;
- gost->broj_datih+=goloviGosta;
- domacin->broj_primljenih+=goloviGosta;
- gost->broj_primljenih+=goloviDomacina;
- IF(goloviDomacina>goloviGosta)
- {
- domacin->broj_pobjeda++;
- gost->broj_poraza++;
- domacin->broj_poena+=3;
- }
- ELSE IF(goloviGosta>goloviDomacina)
- {
- gost->broj_pobjeda++;
- domacin->broj_poraza++;
- gost->broj_poena+=3;
- }
- ELSE
- {
- domacin->broj_nerjesenih++;
- gost->broj_nerjesenih++;
- domacin->broj_poena+=1;
- gost->broj_poena+=1;
- }
- }
- INT main()
- {
- INT i, brTimova, x, doma, gost, golDoma, golGost;
- printf("Unesite broj timova: ");
- scanf("%d", &brTimova);
- struct Tim timovi[brTimova];
- fflush(stdin);
- FOR(i=0; i<brTimova; i++)
- {
- printf("Unesite naziv za %d. tim: ", i);
- gets(timovi[i].imeTima);
- //postavljanje vrijednosti na nulu
- timovi[i].broj_odigranih=0;
- timovi[i].broj_pobjeda=0;
- timovi[i].broj_nerjesenih=0;
- timovi[i].broj_poraza=0;
- timovi[i].broj_datih=0;
- timovi[i].broj_primljenih=0;
- timovi[i].broj_poena=0;
- }
- DO
- {
- printf("Unesite ID domacina:");
- scanf("%d", &doma);
- printf("Unesite ID gosta:");
- scanf("%d", &gost);
- printf("Unesite golove domacina:");
- scanf("%d", &golDoma);
- printf("Unesite golove gosta:");
- scanf("%d", &golGost);
- ObradiUtakmicu(&timovi[doma], &timovi[gost], golDoma, golGost);
- Sortiranje(timovi,brTimova);
- PrintajTabelu(timovi, brTimova);
- printf("Za kraj programa unesite 111, za nastavak bilo koji cijeli broj !!!");
- scanf("%d", &x);
- }
- WHILE(x!=111);
- RETURN 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement