guilhermebrasil9
(usa Ubuntu)
Enviado em 12/03/2016 - 01:01h
Galera, fiz um codigo que ele tem que receber alguma frase escrita pelo user e mostrar na tela apenas as palavras que sao palindrome
/* Main function of the C program. */
#include <stdio.h> // input e output// entrada e saida
#include <stdlib.h> //
#include <string.h> // para manipula metodos que tem have com string
//Declarando minhas funcoes
int palindromo(char * palavra);
int length(char *string);
int main(int argc, char * argv[])
{
int i;
printf("Digite a palavra:\n");
char *palavras[1000];
scanf("%s", palavras[i]);
for(i = 0; i < 1000 ;i++) {
verificaPalin(palavras[i]);
}
return 0;
}
int palindromo(char * palavra) {
int t = length(palavra); // pegamos o tamanho da palavra
char aux[t];
int j = 0;
int i;
for (i = 0; i < t; i++) {
if(palavra[i] == ' ')
continue;
else{
aux[j] = palavra[i];
j++;
}
}
if(t % 2 != 0 ) {
aux[i] = '\0'; // mostrando o final da string
}else if(i+1 == t)
{
aux[i+1] = '\0';
}
t = length(aux);
for(i = 0; i < t; i++)
{//percorrendo a palavra sem espaco
if(aux[i] != aux[t - i - 1])
{// se tive uma letra diferente, ja n eH palindromo
return 1;//deu ruim
}
}
printf("\n%s eh palindromo", aux);
return 0;// deu bom
}
int verificaPalin(char* palavra) {
if(palindromo(palavra) == 1){
printf("NOPE\n");
return 1;
}else{
printf("Palíndromo\n");
return 0;
}
}
int length(char *string) {
int length = 0;
while(*string){
++length;
++string;
}
return length;
}
Ele nao compila, eu acho que o erro esta no metodo main, alguem ajuda? Porfavor, preciso muito