int i(int u)
{
int L=0;
while ((u/=10)!=0)
{
L++;
}
return L+1;
}
mohl by mi někdo vysvětlit, co dělá tahle podmínka? zvláště rozdíl mezi L++ a return L+1? Díky.
A taky, co je u/=10 != 0 - proč to musí být v programu zrovna takhle? když dám jinou podmínku, např. u/=10 > 0 && u/=10 < 0, tak to nefunguje a program se zacyklí. Stejně jako když dám místo 10 jiné číslo
Fórum › C / C++
While
u/= 10 je to samé jako u = u/10
Rozdíl mezi L+1 a L++ je v tom, že L+1 vrátí hodnotu L zvětšenou o 1, kdežto L++ vrátí L a pak provede inkrementaci.
To volnaduse : s jinymi cisly to bude fungovat taky.. jen to bude pocet pozic v te ciselne soustave..
dejme tomu 255 a 2 bude 8, pro 10 bude 3 a treba pro 16 to bude 2
pak to tvoje "nacpani" toho samyho nekolikrat do podminky.. odvaha.. bud to dej mimo nebo pak zoufej proc to nejede
To KIIV : nechápu, jak to myslíš, mohl bys to víc rozepsat, prosím? není to můj program, je to útržek z jiného, který se snažím pochopit, co to tam je a co to má dělat
Docela by mě zajímalo, jak tuhle podmínku nahradit něčím srozumitelnějším.
Nahradit by se to dalo třeba takhle:
int i(int u)
{
int L=0;
do {
u = u / 10;
L++;
}while (u !=0);
return L;
}
Jak už psal KIIV fce vrací počet cifer čísla v daný soustavě.
Tohle je psaný pro desítkovou tj. pro číslo 123 to vrátí číslo 3.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Moderátoři diskuze