filip710

2016KOL1_Z2_GRUPA A

Jul 6th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.87 KB | None | 0 0
  1. // Deklarirati strukturu tenisac u koju će se spremiti ovakvi ulazni podaci:
  2. // ime, prezime, godina rodjenja, atp mjesto na ljestvici, kojom rukom igra te broj pobjeda i
  3. // poraza. U program ulazi broj tenisaca i nakon toga redom podaci o njima.
  4. // Primjer ulaznih podataka
  5. // 2
  6. // Rafael
  7. // Nadal
  8. // 1986
  9. // 5
  10. // lijeva
  11. // 23/6
  12. // Goran
  13. // Ivanisevic
  14. // 1971
  15. // 987
  16. // lijeva
  17. // 68/49
  18.  
  19.  
  20. //  Omogućiti korisniku unos podataka za željeni broj tenisača (max. 20) u polje struktura.
  21. //  Napisati definiciju funkcije najNaj koja treba pronaci tenisaca koji ima najbolji omjer pobjeda i poraza, a ukoliko ima
  22. //  2 tenisaca s istim omjerom, izabrati mladjeg. Funkcija treba vratiti pokazivac na strukturu za tenisaca s navedenim karakteristikama.
  23. //  Pomocu definirane funkcije ispis potrebno je ispisati ime i prezime te ATP mjesto igraca koji ima najbolji omjer pobjeda i poraza.
  24.  
  25. //  Primjer očekivanog ispisa:
  26. //  REZULTATI:
  27. //  Najmladji tenisac s najboljim omjerom pobjeda i poraza je Rafael Nadal te je 1. na ATP ljestvici.
  28.  
  29.  
  30. #include <stdio.h>
  31.  
  32. //vase strukture mozete ovdje definirati
  33. struct tenisac{
  34.     char name[20];
  35.     char surname[20];
  36.     int yearofbirth;
  37.     int ranking;
  38.     char dom_hand[10];
  39.     float wins;
  40.     float losses;
  41. };
  42. //prototip funkcije najNaj
  43. struct tenisac * najNaj(struct tenisac *t, int n);
  44.  
  45. //prototip funkcije ispis
  46. void ispis (struct tenisac *t);
  47.  
  48. int main(){
  49.     //vas kod ide ovdje
  50.     int n, i;
  51.  
  52.     scanf("%d", &n);
  53.     struct tenisac tenisaci[n];
  54.     struct tenisac *best;
  55.  
  56.     for(i=0;i<n;i++)
  57.     {
  58.         printf("ime");
  59.         scanf("%s", tenisaci[i].name);
  60.         printf("prezime");
  61.         scanf("%s", tenisaci[i].surname);
  62.         printf("dob");
  63.         scanf("%d", &tenisaci[i].yearofbirth);
  64.         getchar();
  65.         printf("rank");
  66.         scanf("%d", &tenisaci[i].ranking);
  67.         getchar();
  68.         printf("hnd");
  69.         scanf("%s", tenisaci[i].dom_hand);
  70.         printf("wl");
  71.         scanf("%f/%f", &tenisaci[i].wins, &tenisaci[i].losses);
  72.         getchar();
  73.     }
  74.  
  75.     best=najNaj(tenisaci, n);
  76.  
  77.     //poziv funkcije najNaj
  78.     printf("REZULTATI:\n");
  79.     //poziv funkcije ipis
  80.     ispis(best);
  81.  
  82.     return 0;
  83. }
  84.  
  85. //definicija funkcije ispis
  86. void ispis (struct tenisac *t){
  87.     printf("Najmladji tenisac s najboljim omjerom pobjeda i poraza je %s %s te je %d. na ATP ljestvici.", t->name, t->surname, t->ranking);
  88. }
  89.  
  90.  
  91. struct tenisac* najNaj(struct tenisac *t, int n)
  92. {
  93.     struct tenisac *best;
  94.     int i;
  95.  
  96.     best=&t[0];
  97.  
  98.     for(i=1;i<n;i++)
  99.     {
  100.         if(t[i].wins/t[i].losses==best->wins/best->losses)
  101.         {
  102.             if(t[i].yearofbirth>best->yearofbirth)
  103.             {
  104.                 best=&t[i];
  105.             }
  106.         }
  107.         else if(t[i].wins/t[i].losses>best->wins/best->losses)
  108.         {
  109.             best=&t[i];
  110.         }
  111.     }
  112.     return best;
  113. }
Add Comment
Please, Sign In to add comment