Advertisement
greannmhar

строки 10 исправленые частично

May 27th, 2024
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <ctype.h>
  4. #include <stdlib.h>
  5.  
  6. int sravn(char* word1, char* word2, int n);
  7. int sravn(char* word1, char* word2, int n)
  8. {
  9.         for (int i = 0; i < n; i++) {
  10.         if (word1[i] != word2[i]) {
  11.             return 0;
  12.         }
  13.     }
  14.     return 1;
  15. }
  16.  
  17. int main(void) {
  18.     FILE* fin;
  19.     FILE* fout;
  20.     char start[4001];
  21.     char end[4001];
  22.     char word[4001];
  23.     int sym, i = 0, lens = 0, lene = 0, lenw = 0;
  24.     int between_brackets = 0;
  25.     if ((fin = fopen("input.txt", "r")) == NULL)
  26.     {
  27.         printf("cannot open input file!\n");
  28.         return -1;
  29.     }
  30.     if ((fout = fopen("output.txt", "w")) == NULL)
  31.     {
  32.         printf("cannot open output file!\n");
  33.         fclose(fin);
  34.         return -1;
  35.     }
  36.     while ((sym = fgetc(fin)) != EOF && !isspace(sym)) //считали W
  37.     {
  38.         start[i] = sym;
  39.         i++;
  40.         lens++;
  41.     }
  42.     printf("dlina starta: %d\n", lens);
  43.     printf("left skobka: ");
  44.     for (i = 0; i < lens; i++) {
  45.         putchar(start[i]);
  46.     }
  47.     printf("\n");
  48.  
  49.     i = 0;
  50.     while ((sym = fgetc(fin)) != EOF && !isspace(sym)) //считали W
  51.     {
  52.         end[i] = sym;
  53.         i++;
  54.         lene++;
  55.     }
  56.     printf("\n");
  57.     printf("dlina konca: %d\n", lene);  
  58.     printf("right skobka: ");
  59.     for (i = 0; i < lens; i++) {
  60.         putchar(end[i]);
  61.     }
  62.     i = 0;
  63.     printf("\n");
  64.     while ((sym = fgetc(fin)) != EOF)
  65.     {
  66.         if (!isspace(sym))
  67.         {
  68.             word[i] = sym;
  69.             putchar(sym);
  70.             lenw++;
  71.             i++;
  72.         }
  73.         else if (!between_brackets && lenw == lens)
  74.         {
  75.             if (sravn(word, start, lenw) == 1) {
  76.                 between_brackets = 1;
  77.                 lenw = 0;
  78.                 i = 0;
  79.             }
  80.             else {
  81.                 for (int q = 0; q < lenw; q++) {
  82.                     putchar(word[i]);
  83.                 }
  84.                 lenw = 0;
  85.                  i = 0;
  86.             }
  87.            
  88.         }
  89.         else if ((between_brackets && lenw == lene))
  90.         {
  91.             if(sravn(word, end, lenw) == 1) {
  92.                 between_brackets = 0;
  93.                 lenw = 0;
  94.                 i = 0;
  95.             }
  96.             else {
  97.                 for (int q = 0; q < lenw; q++) {
  98.                      putchar(word[i]);
  99.                 }
  100.                 lenw = 0;
  101.                 i = 0;
  102.             }
  103.         }
  104.         else if(!between_brackets)
  105.         {
  106.             for (int q = 0; q < lenw; q++) {
  107.                 putchar(word[i]);
  108.             }
  109.             lenw = 0;
  110.             i = 0;
  111.         }
  112.     }
  113.     fclose(fin);
  114.     fclose(fout);
  115.     return 0;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement