Guest User

Untitled

a guest
May 22nd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.95 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <locale.h>
  5. char tmp_sepr[81];
  6. char sepr[81];
  7. char line [81];
  8. char **x;
  9. char **y;
  10. int gq;
  11.  
  12. ////////////////////////////////////////////////
  13. void enterSeperators()
  14. {
  15.     int j=0, i;
  16.     printf("Введите разделители: \n");
  17.     printf("Vvedite razdeliteli: \n");
  18.     gets(sepr);
  19.     /*for(i=0; i<strlen(tmp_sepr); i++)
  20.     {
  21.         if(tmp_sepr[i] != ' ')
  22.         {
  23.             sepr[j] = tmp_sepr[i];
  24.             j++;
  25.         }
  26.     }*/
  27. }
  28.  
  29. ///////////////////////////////////////////////////
  30.  
  31. void enterLines(int z)
  32. {
  33.     int c=0;
  34.     int i,k,l, j, n=0;
  35.     l=0;
  36.     char *r=(char*)malloc(strlen(sepr)*sizeof(char));
  37.     //for(i=0; i<strlen(r); i++) r[i] = ' ';
  38.     int f=0;
  39.     x = (char**) malloc(sizeof(char**));
  40.     //char r[3]={'2','2','2'};
  41.     do
  42.     {
  43.         l=0;
  44.         n=0;
  45.         gets(line);
  46.         x[c] = (char*) malloc(strlen(line)*sizeof(char));
  47.         strcpy(x[c], line);
  48.         printf("\nStroka: ");
  49.         for(i=0;i<strlen(x[c]);i++)
  50.             printf("%c",x[c][i]);
  51.             printf("\n");
  52.  
  53.         for(i=0; i<strlen(line); i++)
  54.         {
  55.             for(j=0;j<strlen(r);j++)
  56.             {
  57.                 if(x[c][i]==r[j]) {f=0; break;} else f=1;
  58.  
  59.             }
  60.  
  61.             for(j=0;j<strlen(sepr);j++)
  62.             {
  63.                 if(x[c][i]==sepr[j] && f)
  64.                 {
  65.                     r[n]=sepr[j];
  66.                     l++;
  67.                     //printf("l=%i", l);
  68.                     n++;
  69.  
  70.                 }
  71.             }
  72.  
  73.         }
  74.  
  75.         c++;gq=c;
  76.         printf(r);
  77.         printf("\n%i\n", l);
  78.        for(i=0; i<strlen(r); i++) r[i] = '0';
  79.     }
  80.     while(l<z);
  81. }
  82.  
  83. /////////////////////////////////////////////////////
  84.  
  85. void deleteWord(int z)
  86. {
  87.     int c=1, n=0,m, i=0,j,fns,p,e=0;
  88.     int flag,flag1,k,zap,start=0,final;
  89.     int str=0,na4=0,q=0;
  90.     y = (char**) malloc(sizeof(char**));
  91.     y[c] = (char*) malloc(strlen(x[c])*sizeof(char));
  92.     start=0;
  93.     i=start;
  94.     do {
  95.         for(m=0;m<strlen(sepr);m++)
  96.         if(x[c][i]==sepr[m] || i==strlen(x[c]))
  97.         {
  98.             final=i;
  99.             printf("1. i=%i, start=%i, final=%i\n",i,start, final);
  100.             if((final-start-1)<z)
  101.             {
  102.                 // НЕ записываем в массив y
  103.                 start=final;
  104.                 printf("2. i=%i, start=%i, final=%i\n",i,start, final);
  105.             }
  106.             else
  107.             {
  108.                 //запишем в массив y
  109.                 for(q=start;q<(final);q++,e++)
  110.                     y[c][e]=x[c][q];
  111.                 start=final;
  112.                 printf("3. i=%i, start=%i, final=%i, e=%i\n",i,start, final, e);
  113.             }
  114.         }
  115.         i++;
  116.     }while(i<=strlen(x[c]));
  117.     printf("y="); printf(y[c]);
  118.    /////
  119.  
  120.   /*  do
  121.     {
  122.         for(j=0;j<strlen(sepr);j++)
  123.         {
  124.             if(x[c][i]==sepr[j])
  125.             {
  126.                 fns=i;
  127.                 if((fns-str-1)<z)
  128.                 {
  129.                     str=i;break;
  130.                 }
  131.  
  132.                 else
  133.                 {
  134.                     for(p=str;p<fns-1;p++)
  135.                     {
  136.                         y[c][p]=x[c][p];
  137.                     }
  138.                     str=fns;
  139.                 }
  140.  
  141.  
  142.             }
  143.         }
  144.         i++;
  145.     }
  146.     while(i<strlen(x[c]));
  147.  
  148. //for(i=0;i<strlen(y[c]);i++)
  149.  
  150. //printf("%c ",y[c][i]);*/
  151. }
  152.  
  153. int main()
  154. {
  155.     setlocale(LC_ALL, "Russian");
  156.     int z,c,i;
  157.     enterSeperators();
  158.     printf("Количество различных символов разделителей:\n");
  159.     scanf("%d", &z);
  160.     printf("\n");
  161.     enterLines(z);
  162.     printf ("Задайте длинну слова:\n");
  163.     scanf("%d", &z);
  164.     deleteWord(z);
  165.     /*for (c=1;c<gq;c++)
  166.     {
  167.  
  168.         for(i=0;i<strlen(y[c]);i++)
  169.             printf("%c",y[c][i]);
  170.  
  171.         printf("%c\n");
  172.     }*/
  173.     return(0);
  174. }
Add Comment
Please, Sign In to add comment