[C con Clase] Programa en C
Salvador Pozo
salvador en conclase.net
Vie Ene 4 12:26:22 CET 2013
El pasado 2013-01-04 10:38:14, Diego escribió:
D> No se como descomponer los dos numeros pedidos y poner su descomposicion en la casilla correspondiente
Hola:
La idea para descomponer números en sus potencias de 10 es relativamente simple. Basta con usar los operadores de división entera y módulo o resto.
Por ejemplo, tomemos el número 1242:
Usaremos una variable auxiliar para almacenar la potencia actual, empezando en 10.
num = 1242
pot = 1
Podemos obtener las unidades calculando el resto de dividir entre 10:
pot*(num % 10) = 1*(1242 % 10) = 2
Dividimos el número entre 10 para el siguiente dígito:
num = num / 10 = 1242 / 10 = 124
Y multiplicamos pot por 10:
pot = pot * 10 = 1 * 10 = 10
Y repetimos el proceso completo, mientras num sea distinto de cero:
pot*(num % 10) = 10*(124 % 10) = 40
num = num / 10 = 124 / 10 = 12
pot = pot * 10 = 10 * 10 = 100
pot*(num % 10) = 100*(12 % 10) = 200
num = num / 10 = 12 / 10 = 1
pot = pot * 10 = 100 * 10 = 1000
pot*(num % 10) = 1000*(1 % 10) = 1000
num = num / 10 = 1 / 10 = 0
pot = pot * 10 = 1000 * 10 = 10000
num es cero, de modo que hemos terminado.
Esto extrae las potencias en orden inverso al que muestras en tu problema, pero dado que el enunciado limita los dígitos a cuatro, puedes usar variables auxiliares para contener cada potencia, o un array de cuatro enteros.
Lo de la "casilla correspondiente" no lo entiendo.
Hasta pronto.
--
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
Más información sobre la lista de distribución Cconclase