Czesc. Wydaje mi sie ze sama funkcja jest dobra ale jestem pewny ze cos skopalem w mainie z przydzielaniem pamieci dla ciagu znakow. W C++ jest string a tu nie wiem jak powinno wygladac.
#include <stdio.h>
#include <stdlib.h>
int fPalindrom(char *tab, int n)
{
int i=n/2;
for(i=n/2;i>=0;i--)
{
if(tab[i]!=tab[n-i])
return 0;
}
return 1;
}
int main()
{
char *tekst;
int i=0;
tekst=(char*)malloc(2*sizeof(char));
printf("Wpisz tekst: ");
for(i=0;(tekst[i] = getchar()) != '\n';++i)
{
tekst = (char*)realloc(tekst,(3+i)*sizeof(char));
}
tekst[i+1]='\0';
i=0;
while(tekst[i]) i++;
printf("Tekst \"%c\" ",tekst);
if(!fPalindrom(tekst,i)) printf(" nie ");
printf("jest palindromem.\n");
free(tekst);
system("pause");
return 0;
}