Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: indict en 21 Octubre 2012, 10:24 am



Título: mostrar por pantalla los residuos de un número
Publicado por: indict en 21 Octubre 2012, 10:24 am
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 ;)

Código:
#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;
}


Título: Re: mostrar por pantalla los residuos de un número
Publicado por: leosansan en 21 Octubre 2012, 13:25 pm
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
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.    int n;
  6.    cin>>n;
  7.    while(n>0){
  8.        cout<<n%10<<endl;
  9.        n=n/10;}
  10.    return 0;
  11. }


Título: Re: mostrar por pantalla los residuos de un número
Publicado por: 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

No muestra 4 2 1 sino 4 2 3

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


Título: Re: mostrar por pantalla los residuos de un número
Publicado por: leosansan en 21 Octubre 2012, 14:30 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!.