Advertisement
Guest User

Untitled

a guest
May 30th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.83 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(int argc, char *argv[]){
  6.  
  7.     int n=0,m=0,max=0,elvalaszto=0,vanpiros=0,pirosDb=0;
  8.     char nev[100],zaszlo[55];
  9.     char c;
  10.  
  11.     FILE *f;
  12.  
  13.     f = fopen(argv[1],"r");
  14.     c = 'a';
  15.  
  16.     while(c  != EOF){
  17.         c = fgetc(f);
  18.         if(c == ':'){
  19.             elvalaszto++;
  20.         }
  21.         if(elvalaszto > 0 && c != ':'){
  22.             zaszlo[m] = c;
  23.             ++m;
  24.             zaszlo[m] = '\0';
  25.         }
  26.         if(elvalaszto > 1 && c == ':' || c == '\n'){
  27.             if((strcmp(zaszlo,"piros")) == 0){
  28.                 vanpiros = 1;
  29.  
  30.             }
  31.         }
  32.         if(c == '\n' || c == EOF){
  33.             if(vanpiros == 1){
  34.                 pirosDb++;
  35.                 if(elvalaszto > max){
  36.                     max = elvalaszto;
  37.                 }
  38.             }
  39.  
  40.             m = 0;
  41.             elvalaszto = 0;
  42.             vanpiros = 0;
  43.         }
  44.     }
  45.  
  46.     printf("%d\n",pirosDb);
  47.  
  48.     rewind(f);
  49.     c = 'a';
  50.  
  51.     while (c != EOF){
  52.         c = fgetc(f);
  53.  
  54.         if(c == ':'){
  55.             elvalaszto++;
  56.         }
  57.         if(elvalaszto == 0 && c != ':'){
  58.             nev[n] = c;
  59.             ++n;
  60.             nev[n] = '\0';
  61.         }
  62.         if(elvalaszto > 0 && c != ':'){
  63.             zaszlo[m] = c;
  64.             ++m;
  65.             zaszlo[m] = '\0';
  66.         }
  67.         if(elvalaszto > 1 && c == ':' || c == '\n'){
  68.             if((strcmp(zaszlo,"piros")) == 0){
  69.                 vanpiros = 1;
  70.             }
  71.         }
  72.         if(c == '\n' || c == EOF){
  73.  
  74.             if(vanpiros == 1)
  75.                 if(elvalaszto >= max){
  76.                     printf("%s\n",nev);
  77.                 }
  78.             n = 0;
  79.             m = 0;
  80.             elvalaszto = 0;
  81.             vanpiros = 0;
  82.         }
  83.  
  84.     }
  85. fclose(f);
  86. return EXIT_SUCCESS;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement