• Blog
  • Acerca
  • Autor
  • Contacto
  • Como identificar un palíndromo en C++

    Lo primero que tendríamos que hacer sería quitar los espacios de nuestra cadena. Luego ir comparando, el primer caracter con el último, el segundo con el penúltimo, etc. Si todos los caracteres coinciden, es palíndromo, si no, pues no.

    #include<string.h>
    #include<iostream>
    using namespace std;
     
    int main()
    {
      char cadena[50],cadenaf[50]={0},*parte;
      int c,len,pal=0;
      cout<<"Introduce un palíndromo: "; cin.getline(cadena,50,'\n');
     
      parte=strtok(cadena," ");                  //
      strcat(cadenaf,parte);                    // quita los espacios de 'cadena' y
      while((parte=strtok(NULL," ")) != NULL)  // guarda el resultado en 'cadenaf'
        strcat(cadenaf,parte);                //
     
      len=strlen(cadenaf);
      for(c=0;c<=len-1;c++)
      {
        if(cadenaf[len-1-c]==cadenaf[c]) // comparación del primer caracter con el 
          pal++;                        // último, el segundo con el penúltimo, etc
      }
      if(pal==len) // si todos las caracteres coinciden, sí es palíndromo
        cout<<"Sí es palíndromo!";
      else
        cout<<"No es palíndromo";
      cin.get();
    }
    /*Creado por THEbatzuk*/
    1. eecg dice:

      gracias en justo lo que buscaba de nuevo muchas gracias

    2. The Black dice:

      excelente el post pero tengo una pregunta…estoy apenas comenzando a utilizar C++ y tengo que hacer un pequeño programa que me muestre exactamente esto…si es palindromo o no…pero el inconveniente es que tengo que inserta varias cadenas de caracteres a un array y luego escoger alguna posición del array y verificar si es o no palindromo…aparte tengo que eliminar de la lista cualquier elemento..!! Si me puedes ayudar te lo agradecería un montón..!!

    3. Sara dice:

      De esta forma me parece más fácil:

      #include
      #include

      int main(void)
      {
      int i, v;
      char text[80];

      printf(“Ingrese un texto: “); gets(text);

      for(i=0; i<=strlen(text)/2; i++)
      {
      if(text[i] == text[strlen(text)-1-i])
      v=1;
      else
      {
      v=0;
      break;
      }
      }
      if(v == 1)
      printf("\nNo es palindromo.\n");
      else
      printf("\nSi es palindromo.\n");

      return 0;
      }

    4. fernando dice:

      AYUDENME NECSECITO UN PROGRAMA CON TODAS LAS VARIABLES TAMBIIEN EL USO DE IF DE SWITCH EL USO DE FOR INT Y FLOAT TAMBIEN EL USO DE ARREGLOS Y DE MENUS DESPLEGADOS CON GOTOXY UUURRRRGGGEEENNNTTTEEE :(

    5. fernando dice:

      AYUDENMEEEEE PLISSSS

    6. Serchh dice:

      hola necesito ayuda con un programa q lea hasta 10 cantidades desde el teclado y las represente como una grafica de barras.. me urgee espero puedan ayudarme grax (Y)

    1. [...] vez recuerden que ya había publicado aquí una forma de saber si un string es palíndromo o no, el cual he descubierto (ahora que hice este otro) que no es [...]

    Hola, escribe aquí tu comentario: