brsjak

"Sreduvanje" na string - SP Lab 9

Nov 1st, 2016
761
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.74 KB | None | 0 0
  1. /*„Средување“ на стринг Problem 4 (1 / 1)
  2. Да се напише програма во која од тастатура се чита текстуална низа. Да се промени низата така што ќе се сортира и од неа ќе се отстранат празните места и знаците што се повторуваат. Промената на низа да се реализира со посебна функција. Да не се прави разлика меѓу мали и големи букви.*/
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #include <ctype.h>
  8.  
  9. void promeni(char *s)
  10. {
  11.     int i,j,k,d=strlen(s);
  12.     char temp;
  13.     for(i=0; i<d; i++)
  14.     {
  15.         if(s[i]==' ') // brishenje spejsovi
  16.         {
  17.             for(j=i; j<d-1; j++)
  18.             {
  19.                 s[j]=s[j+1];
  20.                 s[j+1]='\0';
  21.             }
  22.             d=d-1; // kratenje na dolzhinata na nizata.
  23.         }
  24.         if(isalpha(s[i])) // site bukvi
  25.             s[i] = tolower(s[i]); // da stanat mali
  26.     }
  27.     for(i=0; i<d; i++)
  28.         for(j=0; j<d-i-1; j++)
  29.             if(s[j]>s[j+1]) // sortiranje na bukvite
  30.             {
  31.                 temp=s[j];
  32.                 s[j]=s[j+1];
  33.                 s[j+1]=temp;
  34.             }
  35.     int del=0;
  36.     for(i=0; i<d-del; i++) // brishenje na znacite shto se povtoruvaat
  37.         for(j=i+1; j<d-del; j++)
  38.             if(s[i]==s[j])
  39.             {
  40.                 for(k=j; k<d-1-del; k++)
  41.                     s[k]=s[k+1];
  42.                 del++;
  43.                 j--;
  44.             }
  45.     d=d-del;
  46.     s[d]='\0';
  47. }
  48. int main()
  49. {
  50.     char s[100];
  51.     gets(s);
  52.     promeni(s);
  53.     puts(s);
  54.     return 0;
  55. }
Add Comment
Please, Sign In to add comment