Palíndromo é uma palavra, expressão ou frase, ou até mesmo uma sequência de letras ou números, que tenha a propriedade de ser lida e compreendida da mesma maneira, tanto da direita para a esquerda, como da esquerda para a direita.
Nele são considerados, somente palavras e letras, e desconsiderados os sinais e espaços.
Se quizer saber mais sobre o assunto acesse o seguinte link abaixo:
http://www.infoescola.com/linguistica/palindromos/
Baseado nestas informações ficou muito fácil implantar um recurso
que mostra se uma palavra é Polídromo ou não em linguagem C.
Breve descrição do funcionamento:
A palavra recebida pela entrada de dados, é opcionalmente convertida para minúscula, e é copiada na matriz de string char pal [ TAM ]; e em seguida,
é imediatamente invertida arranjadamente dentro de um laçõ for.
A função strstr(...,...); faz a comparação da palavra original com a mesma palavra porém invertida, e não sendo a mesma tá claro que o informado, é: "Não é Palindrome".
Confirmando que a palavra é a mesma dirá com certeza que é palíndrome.
Existem diversas maneiras de se fazer isto, más achei que este método é muito simples de se entender, e o programa é totalmente indicado a iniciantes em linguagem C.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
Nele são considerados, somente palavras e letras, e desconsiderados os sinais e espaços.
Se quizer saber mais sobre o assunto acesse o seguinte link abaixo:
http://www.infoescola.com/linguistica/palindromos/
Baseado nestas informações ficou muito fácil implantar um recurso
que mostra se uma palavra é Polídromo ou não em linguagem C.
Breve descrição do funcionamento:
A palavra recebida pela entrada de dados, é opcionalmente convertida para minúscula, e é copiada na matriz de string char pal [ TAM ]; e em seguida,
é imediatamente invertida arranjadamente dentro de um laçõ for.
A função strstr(...,...); faz a comparação da palavra original com a mesma palavra porém invertida, e não sendo a mesma tá claro que o informado, é: "Não é Palindrome".
Confirmando que a palavra é a mesma dirá com certeza que é palíndrome.
Existem diversas maneiras de se fazer isto, más achei que este método é muito simples de se entender, e o programa é totalmente indicado a iniciantes em linguagem C.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define TAM 20
void Janela5 ( ) {
int lin, col;
col = 0;
for ( lin = 2; lin <= 24 ; lin++ )
for ( col = 2; col <= 78 ; col++ ) {
gotoxy ( col , lin );
textbackground ( LIGHTGRAY );
printf ( " " );
}
}
int continuando ( ) {
int nr;
do {
system ( "cls" );
system ( "Color 90" );
Janela5 ( );
textcolor ( LIGHTRED );
gotoxy ( 32 , 5 );
printf ( "VERIFICANDO
PALÍNDROME" );
textcolor ( BROWN );
gotoxy ( 25 , 7 );
printf ( "Programa
desenvolvido por:" );
textcolor ( WHITE );
gotoxy ( 52 , 7 );
printf ( "Samuel Lima" );
textcolor ( BLACK );
gotoxy ( 34 , 9 );
printf ( "sa_sp10@hotmail.com" );
textcolor ( LIGHTBLUE );
gotoxy ( 23 , 11 );
printf ( "Digite " );
textcolor ( LIGHTRED );
printf ( " 0 " );
textcolor ( LIGHTBLUE );
printf ( " para sair ou
" );
textcolor ( LIGHTRED );
printf ( " 1 " );
textcolor ( LIGHTBLUE );
printf ( " para continuar " );
textcolor ( LIGHTRED );
gotoxy ( 24 , 13 );
scanf ( "%d" , &nr );
fflush ( stdin );
if ( nr == 0 ) {
textcolor ( LIGHTRED );
gotoxy ( 36 , 18 );
printf ( "MUITO
OBRIGADO" );
getche ( );
exit ( 0 );
} else if ( nr == 1 ) {
return 1;
}
textcolor ( BLACK );
gotoxy ( 36 , 16 );
printf ( "\aopcão errada!" );
getche ( );
} while ( 1 );
return 1;
}
int main ( ) {
system ( "title VERIFICANDO PALÍNDROME" );
continuando ( );
char str [ TAM ];
char pal [ TAM ];
int a = 0, c, i, j;
system ( "cls" );
system ( "Color 90" );
Janela5 ( );
textcolor ( LIGHTRED );
gotoxy ( 32 , 5 );
printf ( "VERIFICANDO
PALÍNDROME" );
textcolor ( LIGHTBLUE );
gotoxy ( 32 , 7 );
printf ( "Digite uma
Palavra: " );
textcolor ( BLACK );
gets ( str );
textcolor ( LIGHTBLUE );
gotoxy ( 32 , 9 );
printf ( "Palavra
digitada ==> " );
textcolor ( BLACK );
printf ( "%s" , str );
strlwr ( str );
strcpy ( pal , str );
getche ( );
for ( i = 0, j = strlen ( str ) - 1; i < j ; i++, j-- ) {
c = str [ i ];
str [ i ] = str [ j ];
str [ j ] = c;
}
if ( strstr ( str , pal ) != NULL ) {
textcolor ( LIGHTBLUE );
gotoxy ( 32 , 11 );
printf ( "É Palíndrome
==> " );
textcolor ( BLACK );
printf ( "%s" , str );
a = 1;
} else {
textcolor ( LIGHTBLUE );
gotoxy ( 32 , 11 );
printf ( "Não é Palíndrome
==> " );
textcolor ( BLACK );
printf ( "%s" , str );
}
Sleep ( 1000 );
textcolor ( LIGHTRED );
gotoxy ( 35 , 23 );
printf ( "MUITO
OBRIGADO" );
getche ( );
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.