¿Por qué el algotimo que implemento no logra separar por dígitos del siguiente número?
Publicado por Waldo Gustavo (2 intervenciones) el 20/03/2021 07:24:54
Soy nuevo en la programación, y estoy empezando en c++, muy seguido cuando necesito implementar un algoritmo para separar un numero entero por sus digitos utilizo el siguiente algoritmo, pero para un reciente problema que quería resolver implementando este algoritmo hubo un problema, y es que por algún motivo que hasta ahora no logro comprender al introducir el número 3030303030, el algoritmo me suelta otros números en vez de mostrar el número por sus correspondientes dígitos, lo curioso es que si elimino el último cero del número 303030303 el algoritmo funciona como debe. ¿Cuál es el problema, cómo lo arreglo?


Abajo dejo el algoritmo para que lo puedan revisar:


Abajo dejo el algoritmo para que lo puedan revisar:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
int main()
{
int numero=0,temporal=0,divisor=1;
cin>>numero;
temporal=numero;
while(temporal/10!=0)
{
temporal=temporal/10;
divisor=divisor*10;
}
while(divisor!=0)
{
cout<<numero/divisor;
if(divisor/10!=0)
{
cout<<",";
}
numero=numero%divisor;
divisor=divisor/10;
}
cout<<"\n";
return 0;
}
Valora esta pregunta


0