Advertisement
Mihajlo_K

8.4 Средување на стринг

Mar 19th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.48 KB | None | 0 0
  1. /* Да се напише програма во која од тастатура се чита текстуална низа. Да се промени низата така што ќе се сортира и од неа ќе се отстранат празните места и знаците што се повторуваат. Промената на низа да се реализира со посебна функција. Да не се прави разлика меѓу мали и големи букви. НЕ е дозволено користење на помошна низа. */
  2.  
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <ctype.h>
  6.  
  7. void swap(char *xp, char *yp)
  8. {
  9.     char temp = *xp;
  10.     *xp = *yp;
  11.     *yp = temp;
  12. }
  13.  
  14. void bubbleSort(char arr[], int n)
  15. {
  16.     int i, j;
  17.     for (i = 0; i < n-1; i++)
  18.  
  19.  
  20.     for (j = 0; j < n-i-1; j++)
  21.         if (arr[j] > arr[j+1])
  22.     swap(&arr[j], &arr[j+1]);
  23.     }
  24.  
  25. void sort(char *c)
  26. {
  27.     int i,j=0,k,flag;
  28.     for(i=0;*(c+i)!='\0';i++)
  29.     {
  30.         if(isupper(*(c+i)))
  31.         {
  32.             *(c+i)=tolower(*(c+i));
  33.         }
  34.     }
  35.     for(i=0;*(c+i)!='\0';i++)
  36.     {
  37.         flag=1;
  38.         for(k=0;k <j; k++){
  39.             if(*(c+i)==*(c+k))
  40.             {
  41.                 flag=0;
  42.             }
  43.         }
  44.     if(flag)
  45.     {
  46.         if(isalpha(*(c+i)))
  47.         {
  48.             *(c+j)=*(c+i);
  49.             j++;
  50.         }
  51.     }
  52.     }
  53.     *(c+j)='\0';
  54.     bubbleSort(c,strlen(c));
  55. }
  56.  
  57. int main()
  58. {
  59.     char firstStr[100];
  60.     int i=0;
  61.     char l;
  62.     while((l=getchar())!='\n')
  63.     {
  64.         *(firstStr+i)=l;
  65.         i++;
  66.     }
  67.     *(firstStr+i)='\0';
  68.  
  69.     sort(firstStr);
  70.  
  71.     printf("%s",firstStr);
  72.  
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement