Hej, mam za zadanie napisać program w C++, który miałby sprawdzać każdą liczbę od 1 do n, czy jest liczbą armstronga, program prawie napisany, lecz cały czas wychodzi mi z pętli for i zatrzymuje się, czy mam gdzieś błąd, mógłby ktoś sprawdzić? Ponieważ męczę się z tym już z godzinę.
#include <iostream>
using namespace std;
int main()
{
int n, x, ki;
setlocale(LC_ALL,"");
cout<<"Program ma obliczyć i wypisać możliwe liczby Armstronga"<<endl<<"Dane"<<endl<<"===="<<endl;
cout<<"Liczba do której program ma obliczać: ";
cin>>n;
cout<<"Wynik"<<endl<<"====="<<endl<<"Liczby Armstronga mniesze od "<<n<<" to: "<<endl;
for (int i=1;i<=n;++i)
{
int z=0;
ki=i;
while (x>0)
{
x=ki%10;
z=z+x*x*x;
ki/=10;
x=ki;
}
if (z==i)
cout<<z<<endl;
}
return 0;
}