Advertisement
zsoltizbekk

0%

May 18th, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.07 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct elem
  6. {
  7.     char nev[32];
  8.     int magassag;
  9.     char kod[5];
  10. }ELEM;
  11.  
  12. int rendez (const void *a, const void *b)
  13. {
  14.     ELEM *pa=(ELEM*)a;
  15.     ELEM *pb=(ELEM*)b;
  16.  
  17.     if (pa->magassag < pb->magassag) return 1;
  18.     if (pa->magassag > pb->magassag) return -1;
  19.     return 0;
  20. }
  21.  
  22. int main(int argc, char *argv[])
  23. {
  24.     FILE *be, *ki;
  25.  
  26.     be=fopen(argv[1], "rb");
  27.     ki=fopen(argv[2], "wb");
  28.  
  29.     int db=0, i;
  30.     ELEM tmp;
  31.  
  32.     while (fread(&tmp, sizeof(ELEM), 1, be))
  33.         if (strcmp(tmp.kod, argv[3])==0)
  34.             db++;
  35.  
  36.     ELEM t[db];
  37.     i=0;
  38.  
  39.     rewind(be);
  40.  
  41.     while (fread(&tmp, sizeof(ELEM), 1, be))
  42.         if (strcmp(tmp.kod, argv[3])==0){
  43.             strcpy(t[i].nev, tmp.nev);
  44.             t[i].magassag=tmp.magassag;
  45.             strcpy(t[i].kod, tmp.kod);
  46.             i++;
  47.         }
  48.     qsort(t, db, sizeof(ELEM), rendez);
  49.  
  50.     for (i=0; i<db; i++)
  51.         fwrite(&t[i], sizeof(ELEM), 1, ki);
  52.  
  53.  
  54.     fclose(be);
  55.     fclose(ki);
  56.  
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement