elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con mi codigo quiero verificar si un numero es palindrome porfa y gracias
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con mi codigo quiero verificar si un numero es palindrome porfa y gracias  (Leído 486 veces)
Davidsito1598

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con mi codigo quiero verificar si un numero es palindrome porfa y gracias
« en: 15 Junio 2018, 15:35 pm »

#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);
}


En línea

Beginner Web


Desconectado Desconectado

Mensajes: 585


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Ayuda con mi codigo quiero verificar si un numero es palindrome porfa y gracias
« Respuesta #1 en: 15 Junio 2018, 23:38 pm »

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
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. void LeerCadena(string &c)
  7. {
  8.   cout << "Ingrese numero: ";
  9.   cin >> c;
  10.   // para no ingresar se usa la cadena ejemplo
  11.   //strcpy(cad,"Sigue las ultimas noticias de #Cuenca, #Ecuador y el Mundo en @eltiempocuenca #marcandodiferencia @IGecuador\0");
  12.  
  13. }
  14. void Palindrome (string c)
  15. {
  16.      string aux;
  17.      int j=c.length()-1;
  18.      aux=c;
  19.   for(int i=0;i<c.length();i++){
  20.   if(c[i]!=aux[j]){
  21.                        break;
  22.  }
  23.  j--;
  24. }
  25.   if (j==-1)
  26.   {
  27.      printf("\n El numero es palindrome");
  28.   }
  29.   else
  30.   {
  31.      printf ("\n El numero no es palindrome");
  32.   }
  33. }
  34. int main ()
  35. {
  36.   string c;
  37.   LeerCadena (c);
  38.   Palindrome(c);
  39. }
  40.  


« Última modificación: 16 Junio 2018, 02:19 am por Beginner Web » En línea

{_id: "5ef16999f6ce240abc225ss3",
nombre: "Ana Keldysh",
nacionalidad: "Argentina",
edad: "17",
profesion: "Desarrollador Web Full Stack, pero la verdad hago de todo.",
"__v": 0
}
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines