While – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

While – C / C++ – Fórum – Programujte.comWhile – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
volnaduse0
Newbie
7. 12. 2009   #1
-
0
-

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

Nahlásit jako SPAM
IP: 90.183.36.–
Reklama
Reklama
z_moravec
~ Redaktor
+3
Posthunter
7. 12. 2009   #2
-
0
-

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.

Nahlásit jako SPAM
IP: 147.251.29.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
volnaduse0
Newbie
7. 12. 2009   #3
-
0
-

To z_moravec : jj, já vím, co to znamená, ale nechápu proč je to tam zrovna tak a s jiným čísly to nefunguje

Nahlásit jako SPAM
IP: 90.183.36.–
KIIV+42
God of flame
7. 12. 2009   #4
-
0
-

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

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
volnaduse0
Newbie
7. 12. 2009   #5
-
0
-

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.

Nahlásit jako SPAM
IP: 90.183.36.–
Matrix17
~ Anonymní uživatel
286 příspěvků
7. 12. 2009   #6
-
0
-

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.

Nahlásit jako SPAM
IP: 195.113.207.–
volnaduse0
Newbie
7. 12. 2009   #7
-
0
-

To Matrix17 : díky, od tebe mi to zní srozumitelněji, už jsem doma...vůbec mi nedocházelo, proč tam je to dělní 10

Nahlásit jako SPAM
IP: 90.183.36.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 104 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý