Guest User

Untitled

a guest
May 20th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.79 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #define MAX 1000
  5.  
  6. char *palindrom(char tab[]);
  7. int sprawdz(int pocz, int kon, char *tab);
  8.  
  9. int main(void)
  10. {
  11.    char word[MAX];
  12.    while(scanf("%s", word))
  13.       printf("%s\n", palindrom(word));
  14.     return 0;
  15. }
  16.  
  17. char *palindrom(char tab[])
  18. {
  19.    int i, max = 0, dlugosc = strlen(tab);
  20.    char *res;
  21.    for(i = 0; i < dlugosc; i++)
  22.    {
  23.       if(sprawdz(0,i,tab))
  24.          max = i+1;
  25.    }
  26.    if((res = (char *)malloc(sizeof(char)*(max+1))) == NULL)
  27.       exit(1);
  28.    strncpy(res, tab, max);
  29.    *(res+max) = '\0';
  30.    return res;
  31. }
  32.  
  33. int sprawdz(int pocz, int kon, char *tab)
  34. {
  35.    int i;
  36.    for(i = 0; i < (kon - pocz+1)/2;  i++)
  37.    {
  38.       if(*(tab+pocz+i) != *(tab+kon-i))
  39.          return 0;
  40.    }
  41.    return 1;
  42. }
Add Comment
Please, Sign In to add comment