cheguei até aqui, mas não roda direito, qual seria o erro
//Palindromo teste 6
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 250
#define MAX_SIZE_WORD 16
// protótipo de funcao
// colocadas antes da funcao main
int strcmp(char*,char*);
int main(){
int c;
int i;
int flag;
char str[MAX_SIZE];
char entrada[100];
char invertida[100];
char metade1[50];
char metade2[50];
int tam=0;
int tamcalc=0;
int metade=0;
flag = 0;
printf("Entre com a palavra: ");
do
{
scanf ("%50[^\n]", str);
while ((c = getchar()) != '\n' && c != EOF){
//checar se a string possui menos doq 15 caracteres
if(i <= 16){
int i = 0;
char str[16];
while(str[i] != '\0')
i++;
}
return 0;
// se a string apenas possui letras maisculuas e minusculas
{
int i, tam;
// 'A'-->65, 'Z'-->90, 'a'-->97, 'z'-->122
for(i=0; i<tam; i++) {
if ( (str[i]>=65 && str[i]<=90) ||
(str[i]>=97 && str[i]<=122));
}
str[i]='\0';
flag = 0;
}
}
if (i > 16){
flag = -1;
printf("-1\n");
}
//cálculo do palindromo
tamcalc=tam; // Variavel para calculo da entrada espelhada
metade=tam/2;// Variavel para calculo das metades
//calculo inverter string entrada
for(int x=0;x<tam;x++){
tamcalc--;
invertida[x]=entrada[tamcalc];
}
invertida[tam]='\0';
//Calculo para a primeira metade da string
for(int x = 0; x<metade;x++){
metade1[x]=entrada[x];
}
metade1[metade]='\0';
// calculos da segunda metade, essa sendo espelhada do final da string entrada
for(int x=0;x<metade;x++){
metade2[x]=invertida[x];
}
metade2[metade]='\0';
if(strcmp(metade1,metade2) == 0){ // logica para exibir resposta
printf("1");
}
if(strcmp(metade1,metade2) != 0){
printf("0");
}
return 0;
} while (flag == 0);
}
int strcmp(char metade1[],char metade2[]) // essa funcao pode ser colocada depois da funcao main
{
int i;
for( i=0; metade1[i] != 0; i++)
{
if(metade1[i] != metade2[i]) // caract de uma dif da outra
return 1; // retorn 1
}
if(metade2[i] != 0) // segunda string maior que a primeira
return 1; // retorna 1
return 0; // são iguais retorna zero
}