Identificando Palíndromos

Publicado por Perfil removido 28/05/2004

[ Hits: 31.447 ]

Download Palindromos.c




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.

  



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.");
}

Scripts recomendados

Potências de 2

Algoritmo para detecção do sistema operacional em C

Controle de maior idade em C++

Lista Circular

Pilha


  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts