Advertisement
Guest User

nextlvlszopatas

a guest
May 27th, 2015
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.59 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. struct elem
  7. {
  8.     char nev[35];
  9.     int eredmeny;
  10. };
  11.  
  12. int hasonlit (const void *p1, const void*p2)
  13. {
  14. struct elem f1 = *(const struct elem *)p1;
  15. struct elem f2 = *(const struct elem *)p2;
  16.     if (f1.eredmeny > f2.eredmeny)
  17.     {
  18.         return -1;
  19.     }
  20.     if (f1.eredmeny < f2.eredmeny)
  21.     {
  22.         return 1;
  23.     }
  24.     if (f1.eredmeny == f2.eredmeny)
  25.     {
  26.         return strcmp(f1.nev,f2.nev);
  27.     }
  28.     return 0;
  29. }
  30.  
  31. int main()
  32. {
  33.     int db = 0;
  34.     int *nevecske;
  35.     struct elem el;
  36.     struct elem *tomb = malloc(21*sizeof(el));
  37.     int hossz;
  38.     int t[20];
  39.     int i;
  40.     int count = 0;
  41.     int ertek = 0;
  42.     int nov = 0;
  43.     char *sor = malloc(100*sizeof(char));
  44.     while(gets(sor)!=NULL)
  45.     {
  46.         nevecske = strtok(sor,"/");
  47.         hossz = strlen(nevecske);
  48.         for ( i = hossz+1; i < hossz+22; i++ )
  49.         {
  50.             t[count] = sor[i]-'0';
  51.             count++;
  52.         }
  53.         for (i = 0; i < 20; i++)
  54.         {
  55.             if (t[i] == 2)
  56.             {
  57.                 ertek = ertek + 1;
  58.             }
  59.         }
  60.         if (ertek > 2)
  61.         {
  62.             tomb[nov].eredmeny = ertek;
  63.             strcpy(tomb[nov].nev,nevecske);
  64.             //printf("%s ", nevecske);
  65.             nov++;
  66.         }
  67.  
  68.         count = 0;
  69.         ertek = 0;
  70.         if(db == 19)
  71.             break;
  72.         db++;
  73.     }
  74.     qsort (tomb,nov, sizeof(el), hasonlit);
  75.     for ( i = 0; i < nov; i++)
  76.     {
  77.         printf("%s\n", tomb[i].nev);
  78.     }
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement