Exercício resolvido - Faça um programa que leia uma string do teclado...
Faça um programa que leia uma string do teclado e diga se ela é palíndrome. Uma string é palíndrome quando pode ser lida tanto de trás pra frente quanto de frente para trás e possui exatamente a mesma seqüência de caracteres. Ex.: ASA, SUBI NO ONIBUS. Desconsidere os espaços. Defina uma função chamada Palindrome que receba uma string como parâmetro e retorne um boolean no seu programa.
Solução:
//Erick Vivan
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int PALINDROME(char str[], char str2[], int i, int tam);//Protótipo
int ELIMINAR_ESPACO(char str[])
{
char str2[100];
int i, tam, j;
tam = strlen(str);
for(i = 0; i < tam; i++)//Eliminar espaço em branco
{
if(str[i] == ' ')
for(j = i; j < tam; j++)
str[j] = str[j+1];
}
tam = strlen(str);
for(i = 0; i < tam; i++)
str2[i] = str[tam - i - 1];
str2[tam] = '\0';
printf("\nString digitada: %s", str);
printf("\nString invertida: %s\n\n", str2);
return(PALINDROME(str, str2, i, tam));
}
int PALINDROME(char str[], char str2[], int i, int tam)
{
for(i = 0; i < tam; i++)
{
if(str[i] != str2[i])
return(0);
}
return(1);
}
main()
{
char str[100];
int result;
printf(":::Verificacao de palindromos:::\n\n");
printf("Digite algo: ");
gets(str);
result = ELIMINAR_ESPACO(str);
if(result == 0)
printf("\nA string digitada NAO eh um palindromo!\n\n\n");
else
printf("\nA string digitada eh um palindromo!\n\n\n");
system("pause");
}