Ayuda con mi codigo quiero verificar si un numero es palindrome porfa y gracias

Iniciado por Davidsito1598, 15 Junio 2018, 15:35 PM

0 Miembros y 1 Visitante están viendo este tema.

Davidsito1598

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

void LeerCadena(char cad[])
{
   int tecla;
   int cont=0;
   do
   {
        scanf("%d",&tecla);
        cad[cont]=tecla;
        cont++;
   }while (cont<=10);
   cad[cont]='\0';
   // para no ingresar se usa la cadena ejemplo
   //strcpy(cad,"Sigue las ultimas noticias de #Cuenca, #Ecuador y el Mundo en @eltiempocuenca #marcandodiferencia @IGecuador\0");
   
}
void Palindrome (char c [10])
{
      int c2=0,i=0,p,j;
      j=9;
      do
      {
         i++;
         j--;
         if (c==c[j])
         {
            //c2++;
         }
         i++;
         j--;
      }while (i<=4);
   
   if (c2=5)
   {
      printf("\n El numero es palindrome");
   }
   else
   {
      printf ("\n El numero no es palindrome");
   }
}
int main ()
{
   char c [10];
   printf("Ingrese un numero \n");
   LeerCadena (c);
   Palindrome(c);
}

Beginner Web

Puedes invertir el numero utilizando recursividad y comprobando si el numero que ingresaste es igual al valor de retorno de la funcion recursiva , en ese caso escribir CAPICUA, caso contrario NO CAPICUA, esto para los numeros numeros enteros no hace falta que sea una cadena.

funcion invertir(n: entero, r: entero) : entero
si(n==0)
invertir <-r;
sino
r*=10;
r+=n%10;
invertir<- invertir(n/10, r);

inicio
numero, resultado=0 : entero
escribir "Ingrese numero:"
leer(numero)
si(numero==invertir(numero,resultado)
escribir ("CAPICUA")
sino
escribir ("NO CAPICUA")
finsi
fin

Bueno si quieres con cadenas aca te dejo tu codigo modificado

Código (cpp) [Seleccionar]

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

using namespace std;

void LeerCadena(string &c)
{
  cout << "Ingrese numero: ";
  cin >> c;
  // para no ingresar se usa la cadena ejemplo
  //strcpy(cad,"Sigue las ultimas noticias de #Cuenca, #Ecuador y el Mundo en @eltiempocuenca #marcandodiferencia @IGecuador\0");
 
}
void Palindrome (string c)
{
     string aux;
     int j=c.length()-1;
     aux=c;
  for(int i=0;i<c.length();i++){
  if(c[i]!=aux[j]){
                       break;
 }
 j--;
}
  if (j==-1)
  {
     printf("\n El numero es palindrome");
  }
  else
  {
     printf ("\n El numero no es palindrome");
  }
}
int main ()
{
  string c;
  LeerCadena (c);
  Palindrome(c);
}
7w7