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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda ejercicio C nº decimal pasar a otra base
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda ejercicio C nº decimal pasar a otra base  (Leído 2,037 veces)
juanpalomo098

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Duda ejercicio C nº decimal pasar a otra base
« en: 7 Diciembre 2016, 16:04 pm »

Hola, estoy intentando hacer este ejercicio y se me ha ocurrido hacerlo de esta forma, que creo en teoria creo deberia funcionar.
Un bucle que cuente el numero de cifras que va a contener el numero en la base que queramos y otro que halle los restos y los coloque en su posicion multiplicando por 10,100,1000... segun corresponda

¿Alguien ve algun error? (aparte del int y no sirve para numeros grandes)

EDITO ABAJO CREO QUE YA ESTA NO NECESITABA DOS BUCLES!!
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. void main(){
  5. int num,num1,n,resto,resul,cont,cont1,suma;
  6. printf("Introduce numero y base a la que se quieres convertir");
  7. scanf("%d%d",&num,&n);
  8. num1=num;
  9. cont=0;
  10. cont1=0;
  11. suma=0;
  12. do{
  13. while(num>=n && cont1==0){//primer bucle
  14. cont++;
  15. resul=num/n;
  16.  
  17. num=resul;}//fin primer bucle
  18. cont1++;//para que no entre de nuevo en el primer bucle
  19. printf("cont = %d\n",cont);//no sirve (ver cont al salir del bucle)
  20. resul=num1/n;
  21. resto=num1%n;
  22. suma=(suma+(resto*(pow(10,cont))));
  23.  
  24. num1=resul;
  25.  
  26. cont--;
  27.  
  28. }while(num1>=n);
  29.  
  30. printf("%d",suma);
Que follon habia hecho, creo que ya esta

Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. void main(){
  5. int num,n,cont,resto,resul,suma;
  6. cont=0;
  7. suma=0;
  8. printf("Introduce numero y base a la que se quieres convertir");
  9. scanf("%d%d",&num,&n);
  10. do{
  11. resul=num/n;
  12. resto=num%n;
  13. suma=(suma+(resto*(pow(10,cont))));
  14. cont++;
  15. num=resul;
  16. }while(num>=n);
  17. suma=(suma+(resul*(pow(10,cont))));
  18. printf("%d",suma);
  19. getch();  
  20. }


« Última modificación: 7 Diciembre 2016, 19:42 pm por juanpalomo098 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pasar decimal a binario
.NET (C#, VB.NET, ASP)
Cuasar 7 7,609 Último mensaje 8 Febrero 2011, 04:00 am
por Cuasar
[C] Decimal a base n, con n<10
Programación C/C++
edr89 8 4,035 Último mensaje 24 Octubre 2013, 03:12 am
por rir3760
pasar de decimal a cualquier base menor de 10 « 1 2 »
Programación C/C++
juanma31 14 6,879 Último mensaje 3 Abril 2014, 18:48 pm
por Eternal Idol
pasar de decimal a cualquier base menor de 10
Programación C/C++
juanma31 9 4,337 Último mensaje 24 Mayo 2014, 15:14 pm
por leosansan
programa que cambie de base binaria a base decimal en C
Programación C/C++
estudiante_1 1 2,701 Último mensaje 23 Noviembre 2015, 02:37 am
por Deivbid
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines