Pular para o conteúdo

Identificando Palíndromos

Um programinha simples para identificar palíndromos. Imagino que todos que cursam informática tiveram que fazer um desses algum dia... :)

Minha lógica: Ele pega a palavra digitada, inverte e armazena em outro vetor. Depois faz a comparação dos dois vetores.
Perfil removido removido
Hits: 33.454 Categoria: C/C++ Subcategoria: Metodologias
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Um programinha simples para identificar palíndromos. Imagino que todos que cursam informática tiveram que fazer um desses algum dia... :)

Minha lógica: Ele pega a palavra digitada, inverte e armazena em outro vetor. Depois faz a comparação dos dois vetores.
Download Palindromos.c Enviar nova versão

Esconder código-fonte

#include <stdio.h>

void main() {
char string[41],contrario[41];
int total=0,i,j,erro=0;

printf("Digite a palavra (ate 40 caracteres): ");
scanf("%s",&string);

total = strlen(string);
j = total;
total++;
j--;

for(i=0; i < total; i++) {
   contrario[i] = string[j];
   j--;
}

total--;

for(i=0; i < total; i++) {
   if(string[i] != contrario[i]) { erro = 1; }
}

if(erro == 1) printf("\nNao e palindromo.");
else printf("\nE palindromo.");
}

Deep First Search

merge sort

Desenhando Nuvens ou o Fractal de Plasma

Árvore binária em C

Ordenação Bolha

#1 Comentário enviado por jose_maria em 29/05/2004 - 12:07h
Caiu esse problema na Olimpiada Brasileira de Informática desse ano. :D
#2 Comentário enviado por micka em 04/06/2004 - 02:51h
Fica mais fácil usando dois ponteiros para correr a palavra ! (but how...)
#3 Comentário enviado por grios em 08/06/2005 - 00:32h
Para quem pediu a versao com ponteiros:

int
palindrome(const char *s)
{
const char *p;

if (!*s) return 0;
for (p = s; *p; p++);
for (--p; s < p; s++, p--) if (*p != *s) break;
return s < p;
}

/* Returns 0 if string s is a palindrome, non-zero otherwise. */
#4 Comentário enviado por mrbreno123 em 16/09/2015 - 10:55h
#include <stdio.h>
#include <string.h>

int main() {
char string[41];
bool eh = true;
printf("Digite a palavra: ");
gets(string);

for(int i=0; i < strlen(string); i++) {
if(string[i] != string[(strlen(string) - 1) - i]){
eh = false;
break;
}
}

printf("%s", eh ? "eh palindroma":"nao eh");
}

Contribuir com comentário

Entre na sua conta para comentar.