PALINDROME
Publicado por Thiago 07/04/2006
[ Hits: 11.928 ]
Este pequeno programa verifica se uma string de no máximo 50 caracteres é palíndrome ou não.
Palíndrome é a palavra que quando lida de frente para trás e de trás para frente tem a mesma senquência de caracteres.
Ex: ARARA
Sugestões serão bem vindas.
/**************************
Programa: palindrome.c
Autor: thiagoamm
Data: 02/04/06
***************************/
/* Bibliotecas */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Cabecalho de funcoes e sub-rotinas */
void verifica(char *str, int tam, int *cond);
/* Funcao principal */
int main(void)
{
char string[50],continua;
int condicao,tamanho;
do
{
condicao = 1;
printf("\nInforme a palavra a ser verificada: ");
fflush(stdin);
fgets(string,50,stdin);
/* Tamanho da string meno o '{FONTE}' */
tamanho = strlen(string) - 1;
printf("\n --> Tamanho da string: %i\n",tamanho);
/* Invocando sub-rotina */
verifica(string,tamanho,&condicao);
if (condicao != 0)
printf("\n\n--> PALINDROME \n\n");
printf("\nDeseja continuar (s/n) ? ");
fflush(stdin);
continua = getchar();
} while (continua == 's' || continua == 'S');
printf("\n\n");
return(0);
}
/*
**********************
Sub-rotina verifica
**********************
Responsavel por verificar se uma string e palindrome.
Uma string e palindrome quando tem a mesma sequencia
de caracteres lida em ordem natural e em ordem inversa.
A logica desenvolvida consiste em dividir a string ao meio,
e utilizar dois contadores para indexa-la. O primeiro contador
percorre a string do inicio ate sua metade. O segundo contador
a percorre do fim ate sua metade. Sao comparadas as posicoes
indexadas pelo primeiro e segundo contador e caso alguma seja
diferente o laco (estrutura de repeticao) e imediatamente interrompido.
*/
void verifica(char *str, int tam,int *cond)
{
int i,j,metade_str;
j = tam - 1;
metade_str = (tam - 1) / 2;
for (i = 0; i <= metade_str; i++, j--)
{
/* Comparacao para strings de tres caracteres ou mais */
if (str[i] != str[j])
{
*cond = 0;
break;
}
}
}
Nenhum comentário foi encontrado.
Instalação Completa e Configuração Básica do Void Linux
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Samba 4 AD-DC 2026: Backup & Restore
Samba 4 AD-DC 2026: LAPS (Randomizando senhas locais).
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Como a Vivideo está revolucionando a criação de vídeos? (0)
Linus Torvalds e Bill Gates se encontram pela primeira vez (1)









