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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  ejercicio de c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ejercicio de c  (Leído 6,426 veces)
lito

Desconectado Desconectado

Mensajes: 2


Ver Perfil
ejercicio de c
« en: 8 Septiembre 2004, 08:31 am »


algoritmo que al ingresar un numero por pantalla,al numero ya ingresado le suma su numero invertido,y   este resultado tiene q ser palindrome(que se pueda leer de igual forma de izquieda a derecha .  eje:

1234=4321           , si el resultado es palindrome  imprimir por pantalla 1paso, siino ver en cuantos pasos es posible llegar a un numero palindrome
,esto realizarlo en cualquier base, dde la 10 hasta la base 2.

cualquie duda escribanme.
yo lo hice pero no se porq no me compilo.
me salia en pantalla  pow:domain

#include<stdio.h>
#include<math.h>

int funinv(int);

int funsuma(int);

int funacum(int);

int basex;
int funcionbasex(int,int);
int funbase(int,int);
main()

{

unsigned long int n,boolean,pasos,v,band,basex,num;




do{

   printf("ingrese un numero:");

   scanf("%d",&n);

   }while(n<0);

  num=n;
 for(basex=9;basex>=2;basex--)
  {
 band=1;
while(num!=0)
{
  v=num%10;
  num=num/10;

    if(v>=basex)
     {
     printf("base %d: ? pasos",basex);
     band=0;
     }

 }
    /*printf("band:%d",band);*/ /*hasta aqui compila bien*/
while(band==1)
     {
     pasos=0;



     do{

        n=funacum(n);

        printf("funacumda:%d",n);

        boolean=funsuma(n);

        pasos=pasos+1;

        }while(boolean==0);



printf("Base %d:%d pasos",basex,pasos);

     }
}
}

/*------------------------------------------------------------------------*/

int funinv(int n)     /*FUNCION PARA INVERTIR UN NUMERO*/

{

int inv,num1,r;

num1=n;



if(n>=10)

  {

  inv=0;

  while(n!=0)

       {

       r=n%10;

       n=n/10;

       inv=(r+(inv*10));

       }

   }



if((num1>=0)&&(num1<10))

   {

   inv=num1;

   }

return(inv);

}

/*---------------------------------------------------------------------------*/

int funsuma(int suma)

{

int flag;                          /*VERIFICACION DEL NUMERO PALINDROME*/



if(suma==funinv(suma))

   {

   flag=1;

   }

   else

       if(suma!=funinv(suma))

         {

         flag=0;

         }

return(flag);

}

/*-------------------------------------------------------------------*/

int funacum(int n)

{                                                   /*SUMAS SUCESIVAS PARA VER LA COMPROBACION DE LOS PASOS*/

int adicion,a,sumabase;

a=funinv(n);
sumabase=(funbase(n,basex)+funbase(a,basex));
adicion=funcionbasex(sumabase,basex);

return(adicion);

}
/*------------------------------------------------------------------------*/
/*FUNCION PARA PASAR DE BASE 10 A BASE X*/
int funcionbasex(int n,int basex)
{
int inv,num1,h;
num1=n;

if(n>=10)
  {
   inv=0;

   while(n!=0)
        {
         h=n%basex;
         n=n/basex;
         inv=h+inv*10;
         }
   }
if((num1>=0)&&(num1<10))
    {
     inv=num1;
    }
    inv=funinv(inv);
return(inv);
}

/*------------------------------------------------------------------------------*/
/*FUNCION PARA PASAR DE BASE x A BASE 10*/

int funbase(int q,int base1)
{
int cont, i,sum,T[100],a;
cont=0;

while(q!=0)
      {
       T[cont]=q%10;
       q=q/10;
       cont=cont+1;
       }
sum=0;
for(i=0;i<=cont-1;i++)
   {
    a=pow(base1,i);
    sum=(sum+(T*a));
   }
return(sum);
}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Solución ejercicio C 107
Ejercicios
mauriciodelos 8 8,498 Último mensaje 18 Marzo 2011, 05:05 am
por mauriciodelos
ejercicio archivo.txt
Ejercicios
darive88 2 6,142 Último mensaje 27 Mayo 2011, 05:14 am
por darive88
Ejercicio en c++
Ejercicios
civans89 4 9,470 Último mensaje 19 Julio 2011, 20:16 pm
por madpitbull_99
una ayudita con un ejercicio
Ejercicios
Swaner 4 5,515 Último mensaje 29 Noviembre 2011, 00:26 am
por Swaner
[C++][?] Ejercicio de la Facu
Programación C/C++
El_Rengo 0 1,478 Último mensaje 13 Diciembre 2011, 22:36 pm
por El_Rengo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines