Código C++

  • Blog
  • Acerca
  • Autor
  • Contacto
  • Posts guardados en "medio":

    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*/

    Número de letras y espacios que tiene una frase

    Este programa lee una frase por medio de cin.getline y con la función strtrok le quita los espacios. Cada vez que corta la cadena, un contador se aumenta. Al final se obtiene la longitud de la cadena sin espacios con la función strlen.

    /*Programa para contabilizar el número de letras y de espacios
    que tiene una frase */
    #include<iostream>
    #include<string.h>
    using namespace std;
     
    int main()
    {
      char frase[100], *parte, frasef[100]={0};
      int lng,spc=0;
      cout<<"Introduce una frase: "; cin.getline(frase, 100, '\n');
      parte=strtok(frase," ");
      strcat(frasef,parte);
      while((parte=strtok(NULL," ")) != NULL)
      {
        strcat(frasef,parte);
        spc++;
      }
      lng=strlen(frasef);
      cout<<"Tu frase tiene "<<lng<<" letras y "<<spc<<" espacios";
      cin.get();cin.get();
      return 0;
    }
    /*Creado por THEbatzuk*/