Advertisement
deohay

celloveszet

May 27th, 2015
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.96 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. // celloveszet
  5. typedef struct loves
  6. {
  7.   char nev[52];
  8.   int sikeres;
  9.   int sikertelen;
  10. }ELEM;
  11.  
  12. int rendez(const void *a, const void *b)
  13. {
  14.   ELEM *x = (ELEM*)a;
  15.   ELEM *y = (ELEM*)b;
  16.  
  17.   if(x->sikeres < y->sikeres) return 1;
  18.   if(x->sikeres > y->sikeres) return -1;
  19.   return strcmp(x->nev,y->nev);
  20. }
  21.  
  22. int main()
  23. {
  24.   ELEM tomb[20];
  25.   int i,hossz,db,jdb,rdb,j;
  26.   char sor[100],*token;
  27.  
  28.   i=0;
  29.   db=0;
  30.  
  31.   while(fgets(sor,100,stdin))
  32.   {
  33.     jdb=0;
  34.     rdb=0;
  35.     token=strtok(sor,"/");
  36.     strcpy(tomb[i].nev, token);
  37.  
  38.     token=strtok(NULL,"/");
  39.     hossz=strlen(token);
  40.  
  41.  
  42.     for(j=0;j<hossz;j++)
  43.       {
  44.         if(token[j]=='1') jdb++;
  45.         if(token[j]=='0') rdb++;
  46.       }
  47.  
  48.     tomb[i].sikeres=jdb;
  49.     tomb[i].sikertelen=rdb;
  50.  
  51.     i++;
  52.     db++;
  53.   }
  54.  
  55.   qsort(tomb,db,sizeof(ELEM),rendez);
  56.  
  57.   for(i=0;i<db;i++)
  58.     printf("%s\n",tomb[i].nev);
  59.  
  60.  
  61.  
  62.   return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement