mostrar por pantalla los residuos de un número

Iniciado por indict, 21 Octubre 2012, 10:24 AM

0 Miembros y 1 Visitante están viendo este tema.

indict

Dado un numero n entero mostrar por pantalla los residuos de dicho número. He echo el programa lo único que no se como decirle al programa para que me muestre todos  los residuos y no solo el último. Si pudieras corregirme ;)

#include<iostream>
using namespace std;

int main() {
    int n, contador;
    cin>>n;
    while(contador>0){
                  contador=n/10;
                  n=n%10;
                  cout<<n%10<<endl;}
    system ("PAUSE");
    return 0;
}

leosansan

La culpa de que sólo te salga un valor la tiene la setencia "n=n%10;". El código funcionando, y sin la variable contador que está de más , es:
Código (cpp) [Seleccionar]
#include<iostream>
using namespace std;

int main() {
    int n;
    cin>>n;
    while(n>0){
        cout<<n%10<<endl;
        n=n/10;}
    return 0;
}

indict

Muchas gracias leosansan ahora ya lo comprendo, lo único que al calcular los residuos de un entero imprime por pantalla todos y aparece como último el Dividendo que es menor que 10, en lugar de 1, pero es correcto ¿no?

No se si me he explicado bien, por ejemplo de 324

324/10=32 324%10=4
32/10=3     32%10=2
3/10=0       3%10=1

No muestra 4 2 1 sino 4 2 3

Lo bueno de esto es que permite después calcular la suma de los residuos.

leosansan

Cita de: indict en 21 Octubre 2012, 14:11 PM
Muchas gracias leosansan ahora ya lo comprendo, lo único que al calcular los residuos de un entero imprime por pantalla todos y aparece como último el Dividendo que es menor que 10, en lugar de 1, pero es correcto ¿no?

No se si me he explicado bien, por ejemplo de 324

324/10=32 324%10=4
32/10=3     32%10=2
3/10=0       3%10=1 <===el resultado es 3, no 1:es el resto

No muestra 4 2 1 sino 4 2 3 <====como debe ser
Saludos!.