jordanov

Датотека - Зборови палиндроими

Aug 16th, 2016
375
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <ctype.h>
  3.  
  4. void writeToFile() {
  5.     FILE *f = fopen("text.txt", "w");
  6.     char c;
  7.     while((c = getchar()) != '#') {
  8.         fputc(c, f);
  9.     }
  10.     fclose(f);
  11. }
  12.  
  13. void printFile() {
  14.     FILE *f=fopen("print.txt","r");
  15.     char line[100];
  16.     while(!feof(f)){
  17.         fgets(line,100,f);
  18.         if (feof(f))
  19.             break;
  20.         printf("%s",line);
  21.     }
  22.     fclose(f);
  23. }
  24.  
  25. int main() {
  26.     writeToFile();
  27.    
  28.     FILE *dat = fopen("text.txt", "r");
  29.     FILE *dat1 = fopen("print.txt", "w");
  30.     char c;
  31.     char zbor[50];
  32.     int i = 0;
  33.    
  34.     while (( c = fgetc ( dat )) != EOF ) {
  35.         //ako zborot sodrzi bukvi ili cifri se koristi isalnum, ako sodrzi samo cifri se koristi isdigit, a ako ima samo bukvi togas isalpha
  36.         if ( isalnum (c )) {
  37.             zbor[i] = c;
  38.             i++;
  39.         } //vo else-ot zborot zavrsuva
  40.         else {
  41.            
  42.             zbor[i] = '\0';
  43.            
  44.             //proveruvame dali zborot e palindrom
  45.             if( i > 0){
  46.                 int k;
  47.                 int flag = 1;
  48.                 for(k=0; k<i/2; k++){              
  49.                    if(tolower(zbor[k]) != tolower(zbor[i-k-1])){
  50.                         flag = 0;
  51.                         break;
  52.                     }
  53.                 }
  54.            
  55.                 if(flag == 1){
  56.                     fprintf(dat1, "%s\n", zbor);
  57.                 }
  58.             }
  59.            
  60.             i=0;
  61.                
  62.         }
  63.  
  64.     }
  65.    
  66.     fclose(dat);
  67.     fclose(dat1);
  68.     printFile();
  69.     return 0;
  70. }
Add Comment
Please, Sign In to add comment