Advertisement
IlijaNikolic02

Untitled

Jun 6th, 2024 (edited)
368
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.50 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. typedef struct
  5. {      
  6.     char naziv[30];
  7.     char grad[30];
  8.     int brBodovaPre;
  9.     int brGolovaPre;    
  10. }Klub;
  11.  
  12. typedef struct
  13. {
  14.     char nazivDomacina[30];
  15.     char nazivGosta[30];
  16.     int brojGolovaDomacina;
  17.     int brojGolovaGosta;
  18. }Kolo;
  19.  
  20. // Klub* ucitajKlubove(FILE *f,int brKlubova)
  21. // {
  22. //     Klub* klubovi = (Klub*)malloc(brKlubova * sizeof(Klub));
  23. //     for(int i=0;i<brKlubova;i++)
  24. //     {
  25. //         fgetc(f);
  26. //         fgets(klubovi[i].naziv,30,f);
  27. //         klubovi[i].naziv[strlen(klubovi[i].naziv)-1] = '\0';
  28. //         fgets(klubovi[i].grad,30,f);
  29. //         klubovi[i].grad[strlen(klubovi[i].grad)-1] = '\0'; // ovde je -1 unutar zagrade bilo...
  30. //         fscanf(f,"%d",&klubovi[i].brBodovaPre);
  31. //         fscanf(f,"%d",&klubovi[i].brGolovaPre);
  32.  
  33. //     }
  34. //     return klubovi;
  35. // }
  36.  
  37. void stampa(Klub *klubovi, int brKlubova)
  38. {
  39.     for(int i=0;i<brKlubova;i++)
  40.     {
  41.         printf("naziv: %s, grad: %s, brBodova %d, brojGolova %d\n",klubovi[i].naziv,klubovi[i].grad,klubovi[i].brBodovaPre,klubovi[i].brGolovaPre);
  42.     }
  43. }
  44.  
  45. Klub* ucitajKlubove(FILE* f,int n){
  46.     Klub * klubovi = (Klub*)malloc(n*sizeof(Klub));
  47.     for(int i=0;i<n;i++){
  48.         fgetc(f);
  49.         fgets(klubovi[i].naziv,30,f);
  50.         klubovi[i].naziv[strlen(klubovi[i].naziv)-1] = '\0';
  51.         fgets(klubovi[i].grad,30,f);
  52.         klubovi[i].grad[strlen(klubovi[i].grad)-1] = '\0';
  53.         fscanf(f,"%d",&klubovi[i].brBodovaPre);
  54.         fscanf(f,"%d",&klubovi[i].brGolovaPre);
  55.     }
  56.     return klubovi;
  57. }
  58.  
  59. Kolo* ucitajKola(FILE* f,int n){
  60.     Kolo* kola = (Kolo*)malloc(n*sizeof(Kolo));
  61.     for(int i=0;i<n/2;i++){
  62.         fgets(kola[i].nazivDomacina,30,f);
  63.         kola[i].nazivDomacina[strlen(kola[i].nazivDomacina)-1] = '\0';
  64.         fgets(kola[i].nazivGosta,30,f);
  65.         kola[i].nazivGosta[strlen(kola[i].nazivGosta)-1] = '\0';
  66.         fscanf(f,"%d",&kola[i].brojGolovaDomacina);
  67.         fscanf(f,"%d",&kola[i].brojGolovaGosta);
  68.         fgetc(f);
  69.     }
  70.     return kola;
  71. }
  72.  
  73. void stampaKola(Kolo* kola, int n)
  74. {
  75.     for(int i=0;i<n/2;i++)
  76.     {
  77.         printf("nazivDomacina: %s, nazivGosta: %s, brGolovaDomacina %d, brojGolovaGosta %d\n",kola[i].nazivDomacina,kola[i].nazivGosta,kola[i].brojGolovaDomacina,kola[i].brojGolovaGosta);
  78.     }
  79. }
  80.  
  81. void azurirajBodove(Klub* klubovi, Kolo* kola,int brojKlubova){
  82.     for(int i=0;i<brojKlubova;i++){
  83.         for(int j=0;j<brojKlubova/2;j++){
  84.             if(strcmp(klubovi[i].naziv,kola[j].nazivDomacina) == 0){
  85.                 klubovi[i].brGolovaPre += kola[j].brojGolovaDomacina;
  86.                 if(kola[j].brojGolovaDomacina > kola[j].brojGolovaGosta){
  87.                     klubovi[i].brBodovaPre += 3;
  88.                 }
  89.                 else if(kola[j].brojGolovaDomacina == kola[j].brojGolovaGosta){
  90.                     klubovi[i].brBodovaPre += 1;
  91.                 }
  92.  
  93.             }
  94.             if(strcmp(klubovi[i].naziv,kola[j].nazivGosta) == 0){
  95.                 klubovi[i].brGolovaPre += kola[j].brojGolovaGosta;
  96.                 if(kola[j].brojGolovaDomacina < kola[j].brojGolovaGosta){
  97.                     klubovi[i].brBodovaPre += 3;
  98.                 }
  99.                 else if(kola[j].brojGolovaDomacina == kola[j].brojGolovaGosta){
  100.                     klubovi[i].brBodovaPre += 1;
  101.                 }
  102.                
  103.             }
  104.         }
  105.     }
  106. }
  107.  
  108. void sortiraj(Klub* klubovi ,int n){
  109.     Klub t;
  110.     for(int i=0;i<n-1;i++){
  111.         for(int j=i+1;j<n;j++){
  112.             if(klubovi[i].brBodovaPre < klubovi[j].brBodovaPre){
  113.                 t = klubovi[i];
  114.                 klubovi[i] = klubovi[j];
  115.                 klubovi[j] = t;
  116.             }
  117.             else if(klubovi[i].brBodovaPre == klubovi[j].brBodovaPre){
  118.                 if(klubovi[i].brGolovaPre < klubovi[j].brGolovaPre){
  119.                     t = klubovi[i];
  120.                     klubovi[i] = klubovi[j];
  121.                     klubovi[j] = t;
  122.                 }
  123.             }
  124.         }
  125.     }
  126. }
  127. void main()
  128. {
  129.     FILE *f,*g;
  130.     int n;
  131.     Klub *klubovi;
  132.     f = fopen("klubovi.txt","r");
  133.     g = fopen("kolo.txt","r");
  134.     fscanf(f,"%d",&n);
  135.     klubovi = ucitajKlubove(f,n);
  136.     Kolo * kola = ucitajKola(g,n);
  137.     fclose(g);
  138.     fclose(f);
  139.    // stampa(klubovi,n);
  140.     //stampaKola(kola,n);
  141.     azurirajBodove(klubovi,kola,n);
  142.     sortiraj(klubovi,n);
  143.     printf("naziv: %s, grad: %s, brBodova %d, brojGolova %d\n",klubovi[0].naziv,klubovi[0].grad,klubovi[0].brBodovaPre,klubovi[0].brGolovaPre);
  144.  
  145.  
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement