Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.52 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  #define N 16
  6. int main (void)
  7. {
  8.     char **stroka, *t, symb, c;
  9.     int i, schet, r, j, fl, k;
  10.     r=0;
  11.     stroka=malloc(N*sizeof(char*));
  12.  
  13.     do
  14.     {
  15.         r++;
  16.         stroka=realloc(stroka, r*sizeof(char*));
  17.         i=0;
  18.         schet=1;
  19.         stroka[r-1]=malloc(schet*sizeof(char));
  20.         *(stroka[r-1]+i)=getchar();
  21.  
  22.         while ((*(stroka[r-1]+i)!=EOF) && (*(stroka[r-1]+i)!='\n'))
  23.         {
  24.             i++;
  25.             schet++;
  26.             stroka[r-1]=realloc(stroka[r-1], schet*sizeof(char));
  27.             *(stroka[r-1]+i)=getchar();
  28.         }
  29.  
  30.         symb=*(stroka[r-1]+i);
  31.         *(stroka[r-1]+i)='\0';
  32.     }
  33.     while (symb!=EOF);
  34.    
  35.     for (;k<r;k++)
  36.     {
  37.         fl=0;
  38.         for (j=0; j<r-1; j++)
  39.         {
  40.             if (strcmp(stroka[j], stroka[j+1])>0)
  41.             {
  42.                 t=stroka[j];
  43.                 stroka[j]=stroka[j+1];
  44.                 stroka[j+1]=t;
  45.                 fl++;
  46.             }
  47.         }
  48.         if (fl==0)
  49.             {
  50.                 break;
  51.             }
  52.     }
  53.    
  54.     for (j=0; j<r; ++j)
  55.     {
  56.         i=0;
  57.         while (*(stroka[j]+i)!='\0')
  58.         {
  59.             putchar(*(stroka[j]+i));
  60.             i++;
  61.         }
  62.         putchar('\n');
  63.     }
  64.  
  65.     return 0;
  66.     for (j=1; j<r; ++j)
  67.     {
  68.         i=0;
  69.         do
  70.         {
  71.             c=*(stroka[j]+i);
  72.             free(stroka[j]+i);
  73.         }
  74.         while (c!='\0');
  75.         free(stroka+j);
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement