Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #define MAX 1000
- char *palindrom(char tab[]);
- int sprawdz(int pocz, int kon, char *tab);
- int main(void)
- {
- char word[MAX];
- while(scanf("%s", word))
- printf("%s\n", palindrom(word));
- return 0;
- }
- char *palindrom(char tab[])
- {
- int i, max = 0, dlugosc = strlen(tab);
- char *res;
- for(i = 0; i < dlugosc; i++)
- {
- if(sprawdz(0,i,tab))
- max = i+1;
- }
- if((res = (char *)malloc(sizeof(char)*(max+1))) == NULL)
- exit(1);
- strncpy(res, tab, max);
- *(res+max) = '\0';
- return res;
- }
- int sprawdz(int pocz, int kon, char *tab)
- {
- int i;
- for(i = 0; i < (kon - pocz+1)/2; i++)
- {
- if(*(tab+pocz+i) != *(tab+kon-i))
- return 0;
- }
- return 1;
- }
Add Comment
Please, Sign In to add comment