Advertisement
Dimitrija

Laboratoriski ISPITNI - 11 SP

Jan 5th, 2021 (edited)
647
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.50 KB | None | 0 0
  1. #include <stdio.h>
  2. #define MAX 80
  3.  
  4. /*
  5.  
  6. Во датотеката podatoci.txt се запишани редови со низи од знаци (секој не подолг од 80 знаци).
  7.  
  8. Од стандарден влез се читаат два знака z1 и z2. Да се напише програма со која на стандарден излез ќе се испечатат поднизите од секој ред од датотеката составени од знаците што се наоѓаат меѓу z1 и z2 (без нив). Секоја подниза се печати во нов ред.
  9.  
  10. Се смета дека секој ред од датотеката точно еднаш ги содржи знаците z1 и z2, знакот z1 секогаш се наоѓа пред знакот z2, а меѓу z1 и z2 секогаш има барем еден знак.
  11.  
  12. For example:
  13.  
  14. Input  
  15. nfjskdz0nvjkfdmnlks9bvfkjmcdz,
  16. bfhjdskvfdkl0fvkdzddjmje k dmkldz kdfds!%mlacsd9
  17. 0fbnrjkdn9
  18. fjkd0jdfkfmjndksfjd;sj sad;jm 9nfcjka
  19. #
  20. 09
  21.  
  22. Result
  23. nvjkfdmnlks
  24. fvkdzddjmje k dmkldz kdfds!%mlacsd
  25. fbnrjkdn
  26. jdfkfmjndksfjd;sj sad;jm
  27. Answer:(penalty regime: 0 %)
  28.  
  29.  
  30. */
  31.  
  32. void wf() {
  33.     FILE *f = fopen("podatoci.txt", "w");
  34.     char c;
  35.     while((c = getchar()) != '#') {
  36.         fputc(c, f);
  37.     }
  38.     fclose(f);
  39. }
  40.  
  41.  
  42.  
  43. int main(){
  44.     wf();
  45.    
  46.     FILE *dat;
  47.    
  48.     if ((dat = fopen("podatoci.txt","r")) == NULL){
  49.     fprintf(stderr,"Greshka");
  50.     return -1;
  51.     }
  52.    
  53.     char matrica[MAX][MAX];
  54.     char c;
  55.     int kol=0;
  56.     int red[MAX]={0,};
  57.    
  58.    
  59.     while ((c = fgetc(dat)) != EOF){
  60.    
  61.         if (c == '\n'){
  62.             kol++;
  63.         }
  64.        
  65.         matrica[kol][red[kol]]=c;
  66.        
  67.         red[kol]++;
  68.     }
  69.    
  70.    
  71.    
  72.     int i,j;
  73.     char z1,z2;
  74.     int flag;
  75.     getchar();
  76.     z1 = getchar();
  77.     z2 = getchar();
  78.    
  79.    
  80.     for (i=0;i<kol;i++){
  81.     flag = 2;
  82.             for (j=0;j<red[i];j++){
  83.                
  84.                 if (matrica[i][j] == z1 && flag == 2){
  85.                     flag = 1;
  86.                    
  87.                     continue;
  88.                 }
  89.                 else if (matrica[i][j] == z2 && flag == 1){
  90.                     flag = 0;
  91.                     continue;
  92.                 }
  93.                 else if (flag == 1){
  94.                     printf("%c", matrica[i][j]);
  95.                 }
  96.                
  97.             }
  98.         printf("\n");
  99.     }
  100.    
  101.    
  102.     return 0;
  103.  
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement