Foros del Web » Programación para mayores de 30 ;) » C/C++ »

palabra palindrome c++

Estas en el tema de palabra palindrome c++ en el foro de C/C++ en Foros del Web. olas! soy nuevo en el portal... y tambien soy nuevo en la programacion.. hace poco cree un programa que identifique si una palabra es palindrome ...
  #1 (permalink)  
Antiguo 30/07/2010, 19:30
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
Información palabra palindrome c++

olas! soy nuevo en el portal... y tambien soy nuevo en la programacion..
hace poco cree un programa que identifique si una palabra es palindrome pero tengo errores logicos que no puede corregir a ver si me dan una ayudita :D
ahi les dejo mi cf.
--------------------------------------------------------------------------------------------------


#include <iostream>

using namespace std;

char p[100],a,z;
int x=0;
bool enc=true;
char r;
main()
{
do
{
cout<<"Ingrese palabra\n";
cin>>p;
for(int i=0;i<100;i++)
{
if(p[i]!=0)
x+=1;
else
break;
}
for(int i=0,j=x;i<x,j>=0;i++,j--)
{
a=p[i];
z=p[j];
if(a==z)
enc=true;
else
enc=false;

}
if(enc==true)
cout<<"La palabra\t"<<p<<"\tes palindrome\n";
else
cout<<"La palabra\t"<<p<<"\tno es palindrome\n\a\n\n";
cout<<"Desea continuar s/n\n";
cin>>r;
}
while(r=='s');
cout<<"\n\n";
system("pause");
}

Última edición por bruecq; 30/07/2010 a las 19:37
  #2 (permalink)  
Antiguo 30/07/2010, 19:53
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 1 mes
Puntos: 228
Respuesta: palabra palindrome c++

Yo haria este cambio:

Código C++:
Ver original
  1. if(a==z)
  2. enc=true;
  3. else{
  4. enc=false;
  5. break;
  6. }

Tu problema esta que si en la ultima iteracion del for justo la dos letras son iguales la variable enc va a quedar en true. Y te va a decir que es palindromo.

Etiquetas: c++, cfuente, erroreslogicos, palindrome, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:11.