Advertisement
CzechHero

Task 1 - Done

Mar 19th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.60 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <limits.h>
  5.  
  6. int main(int argc, char** argv)
  7. {
  8.     // FILE* file;
  9.     // file = fopen("data.txt", "r");
  10.  
  11.     int vek = 0, vyska = 0, vaha = 0, ok, n = 0;
  12.     int maxVek = 0, minVek = INT_MAX;
  13.     double sVek = 0, sVyska = 0, sVaha = 0;
  14.     double prVek = 0, prVyska = 0, prVaha = 0;
  15.     char maxJmeno[256], minJmeno[256];
  16.     char retezec[256], jmeno[256];
  17.  
  18.     while(fgets(retezec, 256, stdin) != NULL) {
  19.         ok = sscanf(retezec, "%[^;];%d;%d;%d", jmeno, &vek, &vyska, &vaha);
  20.         // printf("err=%d, jmeno=%s, vek=%d, vyska=%d, vaha=%d\n", err, jmeno, vek, vyska, vaha);
  21.         if(ok == 4) {
  22.             // pokud jsou vsechny 4 udaje OK, zpracujeme je zde.
  23.             n++;
  24.  
  25.             // Vypocet prumeru
  26.             sVek += vek;
  27.             sVyska += vyska;
  28.             sVaha += vaha;
  29.  
  30.             prVek = sVek/n;
  31.             prVyska = sVyska/n;
  32.             prVaha = sVaha/n;
  33.  
  34.             // Vek/jmeno nejstarsiho
  35.             if(vek > maxVek){
  36.                 maxVek = vek;
  37.                 strcpy(maxJmeno, jmeno);
  38.             }
  39.  
  40.             // Vek/jmeno nejmladsiho
  41.             if(vek < minVek){
  42.                 minVek = vek;
  43.                 strcpy(minJmeno, jmeno);
  44.             }
  45.         }
  46.     }
  47.     // Output
  48.     printf("Prumerna vaha je: %.0f kg\n", prVaha);
  49.     printf("Prumerna vyska je: %.0f cm\n", prVyska);
  50.     printf("Prumerny vek je: %.0f\n", prVek);
  51.     printf("Nejmladsim je %s s vekem %d\n", minJmeno, minVek);
  52.     printf("Nejstarsim je %s s vekem %d\n", maxJmeno, maxVek);
  53.    
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement