Buenas gente!!
Necesito ayuda para resolver el siguiente método:
Imprimir los dígitos de un número particular (posición 1 son las unidades, funciona con un número de cualquier tamaño)
Ej: 1684 imprime:
Posición 1 es 4
Posición 2 es 8
Posición 3 es 6
Posición 4 es 1
Gracias gente!!!
Hola, expon lo que lleves codeado hasta el momento, sinó no te podran ayudar, no se hacen tareas en el Foro.
Saludos.
No has dicho ni el lenguaje xD
Cuando no dicen lenguaje, puede aceptarse o entenderse que pseudocódigo es suficiente y que ya lo tarducirán al lenguaje que precisen...
Lo primeor que debes saber es que lo puedes atacar como número o como cadena de texto...
Aquí el pseudocodigo para el caso de tratarlo como número (como string es más sencillo, así que lo dejo a tu imaginación)
funcion ImprimriNumero( entero numero)
// no consideramos la posibilidad de que tenga decimales.
Si (numero esdistinto de 0)
imprimirUltimaCifra(numero, 0)
sino
imprimir "Posicion 1 es 0"
fin si
fin funcion
funcion ImprimirUltimaCifra(entero Valor, byte posicion)
byte cifra
Si (valor esdistintode 0)
cifra = (valor modulo 10)
valor = (valor /10) // ó ((valor - cifra) \10) , la barra '/' representa la division entera
posicion +=1 // si quieres imprimir como posición 0, la primera cifra, mueve esta línea detrás de la de imprimir
imprimir "posicion " + posicion.tostring + "es " + cifra.tostring
ImprimirUltimacifra(valor, posicion)
sino
Devolver // aquí llega cuando ya no quedan cifras a la derecha.
// puede omitirse, pero va bien si lo ejecutas paso a paso y así ves como se entra en esta parte una y otra vez cuando se alcanzó el final... hasta agotar la recursión guardada en la pila, que por fin retorna a la función que la llamó inicialmente.
fin si
fin funcion