Hola gente, tengo que imprimir las potencias del entero 2, para eso uso un ciclo infinito: while (true) y siempre me imprime cero... sin embargo si le saco la intruccion potencia*=potencia me imprime 2, como tendría que ser.. quisiera saber porque ocurre esto, por las dudas dejo el código
#include <iostream>
using std::cout;
using std::endl;
class Potencia
{
public:
void imprimePotencia()
{
int potencia= 2;
while(true)
{
cout <<potencia <<endl;
potencia*= potencia;
}
}
};
int main()
{
Potencia Potencia1;
Potencia1.imprimePotencia();
return 0;
}
No puedes calcular la potencia de dos infinitamente, tiene que haber un tope:
int potencia= 1;
while(potencia < tope)
{
cout << potencia << endl;
potencia *= 2;
}
Saludos
No se imprime siempre cero. El problema, es que:
1) para potencias de 2, tendrías que poner potencia*=2. Sinó, no saldrán potencias de 2.
2) Pones un ciclo while infinito. Párate a mirar los valores 1 a 1 en vez de a lo basto. La variable alcanza el tope de int, y acaba siendo 0.
Aquí la función:
void imprimePotencia(){
int potencia= 2;
while(true){
cout <<potencia <<endl;
potencia *=2;
cin.get();
}
}
Cita de: 718208 en 25 Julio 2014, 23:29 PM
Hola gente, tengo que imprimir las potencias del entero 2, para eso uso un ciclo infinito: while (true) y siempre me imprime cero...
....................................................
No siempre te imprime cero, lo que pasa es que sucede tan rápido que ni lo ves. Usa:
int potencia= 1;
while(1)
{
cout << potencia << endl;
system("pause");//para verlos uno a uno y veras como al final salen ceros
potencia *= 2;
}
para ver los resultados poco a poco.
¡¡¡¡ Saluditos! ..... !!!!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
Gracias Blaster, ivancea96 y leosansan ;-) solucionaron mi problema, aparte había puesto potencia*= potencia, cuando era potencia*=2
Saludos
Cita de: 718208 en 26 Julio 2014, 00:37 AM
Gracias Blaster, ivancea96 y leosansan ;-) solucionaron mi problema, aparte había puesto potencia*= potencia, cuando era potencia*=2
Saludos
¡¡¡ De nada ¡¡¡¡ , para eso nos "asomamos" por aquí.
¡¡¡¡ Saluditos! ..... !!!!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)