ivana_andreevska

6

Jun 12th, 2021
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.00 KB | None | 0 0
  1. Една датотека “log.txt” се состои од зборови(групации од различни знаци) секој запишан во посебен ред. Еден збор не е поголем од 20 знаци.
  2. Нас не интересираат зборовите кои имаат една од следниве 3 форми:
  3. Се состојат само од букви
  4. Имаат  една цифра, барем еден специјален знак и барем една буква
  5. Почнуваат со 2 цифри, а продолжуваат со една или повеќе букви и пак завршуваат со 2 цифри
  6. Напишете програма што ќе изброи колку такви зборови има во датотеката. Резултатот се печати на стандарден излез
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #include <ctype.h>
  11.  
  12. int main()
  13. {
  14.     FILE *p=fopen("log.txt" , "r");
  15.     char niza[21];
  16.     while(fgets(niza,21,p))
  17.     {
  18.         int dolzina=strlen(niza);
  19.         int br_bukvi=0;
  20.         int br_cifri=0;
  21.         int br_znaci=0;
  22.  
  23.         int i;
  24.         for(i=0;i<dolzina;i++)
  25.         {
  26.             if(isdigit(niza[i]))
  27.             {
  28.                 br_cifri++;
  29.             }
  30.             else if(isalpha(niza[i]))
  31.             {
  32.                 br_bukvi++;
  33.             }
  34.             else{
  35.                 br_znaci++;
  36.             }
  37.         }
  38.  
  39.         if(dolzina==br_bukvi)
  40.         {
  41.             printf("%s",niza);
  42.             continue;
  43.         }
  44.         if(br_bukvi>0 &&br_cifri>0 && br_znaci>0)
  45.         {
  46.             printf("%s",niza);
  47.             continue;
  48.         }
  49.         if(isdigit(niza[0]) && isdigit(niza[i]) && isdigit(niza[dolzina-1]) && isdigit(niza[dolzina-2]))
  50.         {
  51.             if(4+br_bukvi==dolzina)
  52.             {
  53.                 printf("%s",niza);
  54.             }
  55.         }
  56.  
  57.     }
  58.     fclose(p);
  59.     return 0;
  60. }
  61.  
Advertisement
Add Comment
Please, Sign In to add comment