Informatică, întrebare adresată de Liftu, 8 ani în urmă

Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n cu cel mult 8 cifre
(n≥10) şi care creează fişierul text NR.TXT ce conţine numărul n şi toate prefixele nenule
ale acestuia, pe o singură linie, separate prin câte un spaţiu, în ordine descrescătoare a
valorii lor.
Exemplu: pentru n=10305 fişierul NR.TXT va conţine numerele:
10305 1030 103 10 1

Eu am scris programul asa:
#include
#include
using namespace std;

int main()
{
int n;
ofstream g("NR.TXT");
cin>>n;
while(n!=0);
{
g< n=n/10;
}
return 0;
}

Imi intra in bucla infinita si nu inteleg de ce. Multumesc anticipat!

Răspunsuri la întrebare

Răspuns de andriesboss92
4

Salut. Problema ta este ca in momentul in care esti in while si afisezi pe n tu nu il mai trunchiezi, pt a putea iesi din while..

Vezi in poza :)


P.S. n!=0 sau n>0 ... in acest while este indiferent, deoarece specifica sa fie numere naturale.

Anexe:
Alte întrebări interesante