Advertisement
AnaGocevska

Untitled

Jan 30th, 2015
391
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.14 KB | None | 0 0
  1. /*Нека е дадена влезна датотека со име „text.txt“. Да се напише програма која ќе изброи во колку редови од датотеката има
  2. помалку збoрови од просечниот број на зборови по ред. Во датотеката зборовите се составени само од алфанумерички знаци.
  3. Резултатот да се отпечати на стандраден излез. Максималниот број на знаци во еден ред е 80.
  4.  
  5. Пример влез                                                     Пример излез
  6. Angliska princeza s0 ljubovnik od 3gipet,                       3
  7. pravi sudar vo francuski tunel,
  8. vozejkj1 s3 v0 g3rmansk1 avtomob1l,
  9. koj go upravuvaL B3Lgiski v0zac,
  10. podnapien so skotsko v1sk1,
  11. sl3d3n 0d 1tal1jansk0 paparacI,
  12. na japonski motori
  13.  
  14. */
  15.  
  16. int main()
  17. {
  18.     int red=0, n, i, brZbor, prosek, counter=0;
  19.     char str[100];
  20.     int niza[100];
  21.     FILE *fin;
  22.     FILE *fout;
  23.  
  24.     if((fin=fopen("vlez.txt","r"))==NULL)
  25.        {
  26.            printf("Ne postoi.");
  27.            exit(1);
  28.        }
  29.     if((fout=fopen("izlez.txt", "w"))==NULL)
  30.         {
  31.             printf("Ne postoi.");
  32.             exit(1);
  33.         }
  34.  
  35.         for(i=0; i<100; i++)
  36.         {
  37.                 niza[i]=0;
  38.         }
  39.  
  40.     while(fgets(str, 80, fin)!=NULL)
  41.     {
  42.         n=strlen(str);
  43.         i=0;
  44.         while(i<n)
  45.         {
  46.             if(isalnum(str[i]))
  47.             {
  48.                 brZbor=0;
  49.                 while(i<n && isalnum(str[i]))
  50.                 {
  51.                     i++;
  52.                 }
  53.                 brZbor++;
  54.             }
  55.             else
  56.             {
  57.                 i++;
  58.             }
  59.         }
  60.         niza[red]=brZbor;
  61.         red++;
  62.     }
  63.         prosek=brZbor/red;
  64.  
  65.         for(i=0; i<red; i++)
  66.         {
  67.             if(niza[i]<prosek)
  68.             {
  69.                 counter++;
  70.             }
  71.         }
  72.         fprintf(fout, "%d", counter);
  73.         fclose(fin);
  74.         fclose(fout);
  75.         return 0;
  76.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement