kaziukas (+37)
Užduotis:
Name yra n butų, sunumeruotų nuo 1 iki n. Prie kiekvieno buto durų reikia prikalti lenteles su to buto numeriu. Ant vienos lenteles užrašytas tik vienas skaitmuo. Jei buto numeris nevienženklis skaičius, tai prie durų kalamos kelios lenteles.
Programa tai turiu parašyta bet nesuprantu ciklo while, gal galite paaiškinti kam ten cikle x=x/10?
#include <fstream>
#include <cmath>
#include <iostream>
using namespace std;
const char CDfv[] = "Duomenys4_u2.txt"; // pradiniø duomenø failo vardas
const char CRfv[] = "Rezultatai4_u2.txt"; // rezultatø failo vardas
//-------------------------------------------------------------------
int Kiek(int x);
//-------------------------------------------------------------------
int main()
{
int n;
int v = 0;
ifstream fd(CDfv);
fd >> n;
for (int i = 1; i <= n; i++) {
v = v + Kiek(i);
}
fd.close();
ofstream fr(CRfv);
fr << v;
fr.close();
return 0;
}
//-------------------------------------------------------------------
int Kiek(int x)
{
int k = 0;
while (x > 0) {
k = k + 1;
x = x / 10; kam jis reikalingas ir kur naudojamas jis dar cikle?
}
return k;
}