Advertisement
Guest User

KENAN BEJZIK 101 GHEHEHE

a guest
Jun 1st, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QBasic 4.08 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct Tim
  5. {
  6.     char imeTima[30];
  7.     INT broj_odigranih, broj_pobjeda,
  8.         broj_nerjesenih, broj_poraza,
  9.         broj_datih, broj_primljenih,
  10.         broj_poena;
  11. };
  12.  
  13. void PrintajTabelu(struct Tim t[], INT brTimova)
  14. {
  15.     INT i;
  16.     struct Tim kopija[brTimova];
  17.  
  18.     // kopija proslijedjenog niza
  19.     FOR(i=0; i<brTimova; i++)
  20.     {
  21.         kopija[i]=t[i];
  22.     }
  23.  
  24.     Sortiranje(kopija, brTimova);
  25.  
  26.     FOR(i=0; i<brTimova; i++)
  27.     {
  28.         printf("%3d. ",i+1);
  29.         IF(i<4-1){
  30.                 printf("UCL ");
  31.         }ELSE IF(i==4-1){
  32.                 printf("QCL ");
  33.         }ELSE IF(i==5-1 || i==6-1){
  34.                 printf("LUE ");
  35.         }ELSE IF(i==7-1){
  36.                 printf("QUE ");
  37.         }ELSE IF(i==brTimova-3 || i==brTimova-2 || i==brTimova-1){
  38.                 printf("REL ");
  39.         }ELSE{
  40.                 printf("    ");
  41.         }
  42.         printf("%-15s %3d %3d %3d %3d %3d %3d %3d",
  43.                kopija[i].imeTima, kopija[i].broj_odigranih, kopija[i].broj_pobjeda,
  44.                kopija[i].broj_nerjesenih, kopija[i].broj_poraza, kopija[i].broj_datih,
  45.                kopija[i].broj_primljenih, kopija[i].broj_poena);
  46.  
  47.         printf("\n");
  48.  
  49.     }
  50. }
  51.  
  52. void Sortiranje(struct Tim t[], INT brTim)
  53. {
  54.     INT i, j;
  55.  
  56.     // sortiranje po broju bodova
  57.     FOR(i=0; i<brTim; i++)
  58.     {
  59.         FOR(j=i; j<brTim; j++)
  60.         {
  61.             IF(t[i].broj_poena < t[j].broj_poena)
  62.             {
  63.                 struct Tim x = t[i];
  64.                 t[i] = t[j];
  65.                 t[j] = x;
  66.             }
  67.         }
  68.     }
  69.  
  70.     // sortiranje po gol razlici ako je isti broj poena
  71.     FOR(i=0; i<brTim; i++)
  72.     {
  73.         FOR(j=i; j<brTim; j++)
  74.         {
  75.             IF(t[i].broj_poena == t[j].broj_poena)
  76.             {
  77.                 IF(t[i].broj_datih-t[i].broj_primljenih < t[j].broj_datih-t[j].broj_primljenih)
  78.                 {
  79.                     struct Tim y = t[i];
  80.                     t[i] = t[j];
  81.                     t[j] = y;
  82.                 }
  83.             }
  84.         }
  85.     }
  86. }
  87.  
  88. void ObradiUtakmicu(struct Tim *domacin, struct Tim *gost, INT goloviDomacina, INT goloviGosta)
  89. {
  90.     (*domacin).broj_odigranih++;
  91.     (*gost).broj_odigranih++;
  92.  
  93.     domacin->broj_datih+=goloviDomacina;
  94.     gost->broj_datih+=goloviGosta;
  95.  
  96.     domacin->broj_primljenih+=goloviGosta;
  97.     gost->broj_primljenih+=goloviDomacina;
  98.  
  99.     IF(goloviDomacina>goloviGosta)
  100.     {
  101.         domacin->broj_pobjeda++;
  102.         gost->broj_poraza++;
  103.  
  104.         domacin->broj_poena+=3;
  105.     }
  106.     ELSE IF(goloviGosta>goloviDomacina)
  107.     {
  108.         gost->broj_pobjeda++;
  109.         domacin->broj_poraza++;
  110.  
  111.         gost->broj_poena+=3;
  112.     }
  113.     ELSE
  114.     {
  115.         domacin->broj_nerjesenih++;
  116.         gost->broj_nerjesenih++;
  117.  
  118.         domacin->broj_poena+=1;
  119.         gost->broj_poena+=1;
  120.     }
  121. }
  122.  
  123. INT main()
  124. {
  125.     INT i, brTimova, x, doma, gost, golDoma, golGost;
  126.  
  127.     printf("Unesite broj timova: ");
  128.     scanf("%d", &brTimova);
  129.  
  130.     struct Tim timovi[brTimova];
  131.  
  132.     fflush(stdin);
  133.  
  134.     FOR(i=0; i<brTimova; i++)
  135.     {
  136.         printf("Unesite naziv za %d. tim: ", i);
  137.         gets(timovi[i].imeTima);
  138.  
  139.         //postavljanje vrijednosti na nulu
  140.         timovi[i].broj_odigranih=0;
  141.         timovi[i].broj_pobjeda=0;
  142.         timovi[i].broj_nerjesenih=0;
  143.         timovi[i].broj_poraza=0;
  144.         timovi[i].broj_datih=0;
  145.         timovi[i].broj_primljenih=0;
  146.         timovi[i].broj_poena=0;
  147.     }
  148.  
  149.     DO
  150.     {
  151.         printf("Unesite ID domacina:");
  152.         scanf("%d", &doma);
  153.         printf("Unesite ID gosta:");
  154.         scanf("%d", &gost);
  155.         printf("Unesite golove domacina:");
  156.         scanf("%d", &golDoma);
  157.         printf("Unesite golove gosta:");
  158.         scanf("%d", &golGost);
  159.  
  160.         ObradiUtakmicu(&timovi[doma], &timovi[gost], golDoma, golGost);
  161.         Sortiranje(timovi,brTimova);
  162.         PrintajTabelu(timovi, brTimova);
  163.  
  164.         printf("Za kraj programa unesite 111, za nastavak bilo koji cijeli broj !!!");
  165.         scanf("%d", &x);
  166.     }
  167.     WHILE(x!=111);
  168.  
  169.  
  170.  
  171.     RETURN 0;
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement