Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2011, 11:25
iovan
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Convertir un numero Base 10 a base 8.

Hola amigos.


Necesito un programa lo más sencillo y básico posible. Hablando de que este es mi 2 dia trabajando con C++.

Todavia no Comprendo bien el cout<< o cin<<

yo comprendo con printf("");
__________________________________

Verán, mi duda es bastante normal para alguien como yo.

Mi algoritmo que puedo imaginar es:

Dividir el numero "n" entre 8, el residuo almacenarlo en un arreglo 'x' y el cociente será el dividendo para la siguiente divicion entre 8, el residuo lo agrego al arreglo 'x'y cociente pasará a ser el dividendo otra vez. Todo esto mientras el cociente sea >= 8



Supongo que eso me va hacer todas las diviciones necesarias, pero ahora. ¿Como guardo esos residuos de forma ordenada en un arreglo y como lo muestro con printf. ??

Ejemplo para

150 b10 ----> b8

Paso |Dividendo | Divisor | Cociente | residuo
1 .........150............8.............18.......... ..6
2............18............8..............2....... ......2


Y que me tomé el cociente de la ultima divicion despues el residuo de la ultima divicion y despues el reciduo de la penultima divicion y asi suscesivamente

226b8 ------------> 150b10


______________________________

Amigos disculpen las molestias, entenderia muy bien con un código si pueden evitar usar los subprogramas se los agradeceria mucho, tengo problemas para entenderlos. Por ello no he podido resolver mi duda con los que encuentro en internet pues son muchos.


Con subprograma me refiero a esto

Código C++:
Ver original
  1. programa( int algo, algo[]){
  2.  
  3. .......
  4. }
  5.  
  6. main(){
  7.  
  8. programa(valor,valor);
  9.  
  10. }

_______________________________

Gracias nuevamente.


____________________
EDICION:

Estaba pensando que el lugar de hacer "mientras el cociente sea >= 8" puedo hacer mejor "Mientras cociente sea != 0"

y

Paso |Dividendo | Divisor | Cociente | residuo
1 .........150............8.............18.......... ..6
2............18............8..............2....... ......2
3............2..............8..............0...... .......2

Tomando el ultimo residuo y almacenarlo como el primer numero, luego el penúltimo residuo y almacenarlo como el segundo numero, luego el antepenúltimo residuo y almacenarlo en la 3 posición, etc....


Creo que es mas claro así.

Lo que sucede es que no tengo idea como se almacenan esos numero en una variable, y mucho menos en la posición en los que los requiero.


Agradezco su ayuda amigos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.

Última edición por iovan; 26/04/2011 a las 11:35