• Miércoles 8 de Mayo de 2024, 22:30

Autor Tema:  Palindromo  (Leído 2848 veces)

cybergatita

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Palindromo
« en: Jueves 15 de Septiembre de 2005, 05:25 »
0
Hola a todos

Alguien sabe alguna palabra que no sea un palindromo!!!!!!!!!!!...




saludos,,,,,  a todoss

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Palindromo
« Respuesta #1 en: Jueves 15 de Septiembre de 2005, 06:04 »
0
todas las que has dicho no son palímdromos.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io


cybergatita

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Re: Palindromo
« Respuesta #3 en: Viernes 16 de Septiembre de 2005, 00:54 »
0
Diodo

Esta es la razon por la cual postie en este tema

void main ()
{
char palabra[10];

char palabra2[10];


clrscr();
printf("\n\n\nEscribe una palabra de max 10 caracteres\n\n\n");
gets(palabra);
printf(" \n\nEsta es la palabra que introduciste:%s\n\n",palabra);


strrev(palabra);
printf(" \nEsta es tu palabra leida de derecha a izquierda\ (al revez)n");
printf("\n\n\n%s",palabra);

strcpy(palabra2,palabra);

 if (palabra[0]==palabra2['\0'])
    printf("\n\nES UNA PALABRA PALINDROMO\n");
   else
   printf(" \n\nNO ES UNA PALABRA PALINDROMO\n");
getch();
}


ese es mi codigo. para ver si una palabra es un palindromo.

obvio no me sale
alguien me puede ayudar..

Gracias por sus respuestas.

rir3760

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Palindromo
« Respuesta #4 en: Viernes 16 de Septiembre de 2005, 02:59 »
0
Para verificar si una palabra es o no un palindromo tienes que comparar los caracteres de la mitad izquierda de la palabra con los caracteres de la mitad derecha: el primer caracter con el ultimo, el segundo caracter con el penultimo, etc.

Si en cualquier paso los caracteres no coinciden entonces la palabra no es un palindromo.

Seria algo asi:
Código: Text
  1. /* obtenemos la cadena y la almacenamos en el array 'palabra' */
  2.  
  3. /* calcular la longitud de la palabra */
  4. for (j = 0; palabra[j] != '\0'; j++)
  5.   &#59;
  6.  
  7. /* verificar si es un palindromo */
  8. es_un_palindromo = 1; /* verdadero */
  9. for (i = 0, j--; i < j; i++, j--)
  10.    if (palabra[i] != palabra[j]){
  11.       es_un_palindromo = 0; /* falso */
  12.       break;
  13.    }
  14.  

Un saludo
The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz

cybergatita

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Re: Palindromo
« Respuesta #5 en: Viernes 16 de Septiembre de 2005, 03:02 »
0
Muchas gracias

rir3760

dejame poner a correr esa parte de codigo que aun estoy entendiendo
te agrazco mucho, el resultado te lo posteo.


gracias

cybergatita

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Re: Palindromo
« Respuesta #6 en: Domingo 18 de Septiembre de 2005, 22:23 »
0
char palabra[10];

char palabra2[10];
int i,j;

clrscr();
printf("\n\n\nEscribe una palabra de max 10 caracteres\n\n\n");
gets(palabra);

printf(" \n\nEsta es la palabra que introduciste:\n\n%s",palabra);

strcpy(palabra2,palabra);

strrev(palabra2);
printf(" \nEsta es tu palabra leida de derecha a izquierda (al revez)n");
printf("\n\n\n%s",palabra2);

for (i=0; palabra !='\0'; i++){
;
}
    for (j=0; palabra2[j]!='\0'; j++)

      if (palabra!=palabra2[j]){
    printf("\n\n no es palindromo");
break;    }
      else {
      printf("\n\n es palindromo");
   }
break;

 getch();
}


Hola
este es mi codigo
y pues creo que no tuve exito en esta batalla
en algo estoy mal , obvio :(

ojala puedan ayudarme
gracias comunidad

carmamezo

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
Re: Palindromo
« Respuesta #7 en: Lunes 19 de Septiembre de 2005, 11:51 »
0
Hola, puedes utilizar la función de comparación de strings strcmp() (creo que es esa) para comparar palabra con palabra 2, la función creo recordar que devuelve un 0 en caso de que ambas sean iguales.
Saludos y suerte.
No hay tonto más molesto que el ingenioso.

cybergatita

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Re: Palindromo
« Respuesta #8 en: Martes 20 de Septiembre de 2005, 03:42 »
0
char palabra[10];

char palabra2[10];

int i;
int y=0;




printf("\n\nEscribe una palabra de max 10 caracteres\n\n\n");
gets(palabra);
printf("\fPresiona cualquier tecla para saber si tu palabra es un PALINDROMO\n\n");
getch();
clrscr();

printf("\nEsta es la palabra que introduciste:\n%s",palabra);

strcpy(palabra2,palabra);

strrev(palabra2);
printf(" \nEsta es tu palabra leida de derecha a izquierda (al revez)\n\n");
printf("\n%s",palabra2);

for (i=0; palabra !='\0'; i++){
;
}
   
y=strcmp(palabra2,palabra);

      if (y==0)

    printf("\n\n por lo tanto  tu palabra ES palindromo");

      else
      printf("\n\n por lo tanto  tu palabra  No es palindromo");



 getch();
}


Gracias por la asesoria compañeros:

ya esta terminado


gracias

scarlet

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Palindromo
« Respuesta #9 en: Domingo 2 de Octubre de 2005, 12:23 »
0
Con una pila la solucion es superfacil introduciendo la cadena en ella y luego extrallendo y comparando hasta el punto de que sea diferente
[code]cout<<"La verdadera razon del programador esta en tener interrogantes"<<endl;

ragnarok

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Palindromo
« Respuesta #10 en: Domingo 2 de Octubre de 2005, 19:09 »
0
Cita de: "rir3760"
Para verificar si una palabra es o no un palindromo tienes que comparar los caracteres de la mitad izquierda de la palabra con los caracteres de la mitad derecha: el primer caracter con el ultimo, el segundo caracter con el penultimo, etc.

Si en cualquier paso los caracteres no coinciden entonces la palabra no es un palindromo.

Seria algo asi:
Código: Text
  1. /* obtenemos la cadena y la almacenamos en el array 'palabra' */
  2.  
  3. /* calcular la longitud de la palabra */
  4. for (j = 0; palabra[j] != '&#092;0'; j++)
  5.  &#59;
  6. int palindromo (char* palabra)
  7. /* verificar si es un palindromo */
  8. es_un_palindromo = 1; /* verdadero */
  9. for (i = 0, j--; i &#60; j; i++, j--)
  10.    if (palabra[i] != palabra[j]){
  11.       es_un_palindromo = 0; /* falso */
  12.       break;
  13.    }
  14.  

Un saludo
Deberías hacer caso a rir3760, su solución tiene una complejidad de 2n, y la tuya 5n más o menos, así que tarda como 2'5 veces más.

Él recorre la cadena dos veces: una para contar los caracteres y otra para comprobar si es palíndromo.

Tu la recorres una para copiarla, otra para darla la vuelta, otra porque si :huh: , y dos más para compararla (recorres dos cadenas).

Código: Text
  1.  
  2. #include &#60;stdio.h&#62;
  3. #include &#60;string.h&#62;
  4. #include &#60;stdlib.h&#62;
  5.  
  6. int esPalindromo (char* palabra){
  7.    int i, j;
  8.    for (i = 0, j=(strlen(palabra)-1); i &#60; j; i++, j--)
  9.       if (palabra[i] != palabra[j])
  10.          return 0;
  11.    return 1;
  12. }
  13.  
  14. int main (){
  15.     char palabra[128];
  16.     printf (&#34;introduce una palabra&#092;n&#34;);
  17.     gets (palabra);
  18.     printf (&#34;&#092;nLa palabra &#092;&#34;%s&#092;&#34; %s es un palindromo&#092;n&#34;, palabra, esPalindromo (palabra)? &#34;si&#34; : &#34;no&#34;);
  19.     system (&#34;pause&#34;);    
  20. }
  21.  
  22.  

cybergatita

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Re: Palindromo
« Respuesta #11 en: Jueves 6 de Octubre de 2005, 06:21 »
0
Gracias por sus ultimos comentarios

y si, se que tardo mas. pero pues son mis comienzoz y la mayoria de las cosas las estoy viendo empiricamente, por que tengo una docente, que pues .mmhhh..




mm.

saludos y gracias