• Jueves 2 de Mayo de 2024, 21:04

Autor Tema:  Programa En C++  (Leído 5211 veces)

El Novato

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Programa En C++
« en: Sábado 22 de Mayo de 2004, 19:12 »
0
Hola, espero que me puedan ayudar, y de ante mano gracias.
Tengo un ligero problema con un programa en c++, que tiene que evaluar una palabra y mostrar como resultado si es o no un palindromo, hasta el momento he trabajado con solo esto.



#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>

int palindromo (char palabra [80]);

void main () {
   clrscr ();
   char palabra [80], r=0, a;
   cout<<"Escribe la palabra a evaluar: ";
   cin.getline (palabra,80);
   r=palindromo (palabra);
   cout<<"\n\nLa palabra "<<r<<" es un palindromo";
   getch ();
   }

int palindromo (char palabra [80]) {
   char a [80], res=0;
   strcpy (a,palabra);
   strrev (a);
   if (strcmp (palabra,a)) {
      res=0;
   }
   else
      res=1;
   return (res);
   }



espero que me haya explicado bien, lo que pasa es que es mi primer mensaje.

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Programa En C++
« Respuesta #1 en: Sábado 22 de Mayo de 2004, 23:04 »
0
Lindo codigo :D ... deberias especificar el problema que te hace, asi te podriamos ayudar, lo que pasa es que algunos no podemos compilar codigos de aqui debido al tiempo, si especifica un poco mas te ayudaremos mejor. Saludos :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

lordford

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: Programa En C++
« Respuesta #2 en: Sábado 22 de Mayo de 2004, 23:09 »
0
Hola:

el algoritmo no esta mal, aunque tiene detalle que luego te dire por razones de tiempo no te respondo, pero el problema se puede simplificar si usas una pila y un array auxiliar, luego comparas y ya esta !!!!!


Mas o menos asi:

entrar palabra,
llenar la pila con los caracteres de la palabra,
vaciar la pila y llenar el array auxiliar,
comparar cadenas,
retornar si es o no palindrome.


Es solo eso, aunque se puede optimizar mas.

Espero que te ayude

Salu2,

 :hola:  :smartass:  :o  :D

LordFord
~ Si quieres que algo en la vida te salga bien]~

Ezdlir

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Programa En C++
« Respuesta #3 en: Domingo 23 de Mayo de 2004, 06:22 »
0
Cita de: "El Novato"
   cout<<"\n\nLa palabra "<<r<<" es un palindromo";
Hola... lo único que veo mal es el mensaje que muestra el resultado: siempre escribís "La palabra <valor de r: caracter 0 o 1> es palíndromo". Creo que deberías ver qué valor tiene r para saber si es palabra palíndrome o no.

Saludos
Ez.

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Programa En C++
« Respuesta #4 en: Domingo 23 de Mayo de 2004, 15:04 »
0
Estoy de acuerdo con Ezdlir.....el código debería de quedar así.....

Código: Text
  1.  
  2. r=palindromo (palabra);
  3. if r == 0
  4. cout&#60;&#60;&#34;&#092;n&#092;nLa palabra &#34;&#60;&#60;palabra&#60;&#60;&#34; es un palindromo&#34;;
  5. else
  6. cout&#60;&#60;&#34;&#092;n&#092;nLa palabra &#34;&#60;&#60;palabra&#60;&#60;&#34; no es un palindromo&#34;;
  7.  
  8.  

Saludos,

Blag  :devil:

Noel Solw

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Programa En C++
« Respuesta #5 en: Lunes 24 de Mayo de 2004, 10:24 »
0
Otra forma de revisar palindromos (para cadenas)

char a[50],b[50];
cin >> a;
strcpy(b,a); // copia b = a;
strrev(b);   // invierte b
if(strcmp(a,b))
   cout << "no ";
cout << "es capicua" << endl;

scatterbrain

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Programa En C++
« Respuesta #6 en: Martes 25 de Mayo de 2004, 19:34 »
0
:)
que es un palindromo?

 :P
We`re the dollars and cents
and the PoUNDS and Pence
the MARK and the YEN

we gonna crack your little souls,crack your little souls...

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Programa En C++
« Respuesta #7 en: Martes 25 de Mayo de 2004, 19:55 »
0
Citar
que es un palindromo?

Es una palabra que lee igual de derecha a izquierda que de izquierda a derecha.......por ejemplo:

SOMOS
ANA


Saludos,

Blag  :devil:

scatterbrain

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Programa En C++
« Respuesta #8 en: Martes 25 de Mayo de 2004, 20:14 »
0
ahhh, muchas gracias
We`re the dollars and cents
and the PoUNDS and Pence
the MARK and the YEN

we gonna crack your little souls,crack your little souls...

El Novato

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Programa En C++
« Respuesta #9 en: Jueves 27 de Mayo de 2004, 17:03 »
0
Hola a todos, quiero decirles que su ayuda me sirvio de mucho,
y que de nuevo agradezco que se hayan tomado el tiempo para contestar.