NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 7 - Cykly v C# .NET - for a while

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na Štefan Pružinský
Libor Šimo (libcosenior):7.3.2014 8:41

Sám sa skús zamyslieť, čo by sa stalo, keby užívateľ napísal "ráno", ktoré by bolo správne?

Odpovědět
+1
7.3.2014 8:41
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
I.Love.Guitar:15.3.2014 14:59

Ahoj, som v programovaní prakticky nováčik a rád by som sa poďakoval autorovi týchto článkov. Super sa čítajú a dávajú človeku skutočne viac úžitku ako školské skriptá :) ..pri tom Mocninátorovi mi ale napadla jedna vec:
Ak by sa pozmenil úsek
int vysledek = a;
for (int i = 0; i < (n - 1); i++)
vysledek = vysledek * a;
za

int vysledek = 1;
for (int i = 0; i < n; i++)
vysledek = vysledek * a;

tak by to fungovalo aj pre nultú mocninu :)

 
Odpovědět
15.3.2014 14:59
Avatar
xxluky
Člen
Avatar
xxluky:22.4.2014 17:09

Zdravím.
Začínám programovat na těchto tutoriálech. Můžete mi někdo poradit, jak mohu zarovnat násobky čísel uvedených ve sloupcích pomocí PadLeft, jak je zmíněno výše a není názorně předvedeno? Nemůžu na to přijít. Metoda PadLeft chce string řetězec, v příkladu se ale používá int...

Díky za radu.

 
Odpovědět
22.4.2014 17:09
Avatar
xxluky
Člen
Avatar
Odpovídá na xxluky
xxluky:22.4.2014 17:12

Omlouvám se, už se to řešilo, nevšiml jsem si, bylo to ve skrytých komentářích níže.

 
Odpovědět
22.4.2014 17:12
Avatar
marian.hladik25:20.8.2014 9:42

Zdravím , cyklus
for (int i = 0; i < (n - 1); i++)
vysledek = vysledek * a;
funguje aj ako
for (int i = 1; i < b ; i++)
{
vysledek = vysledek * a;
}
Chcel by som sa s;)pýtať či bude 1 v i spôsobovať problémy. Alebo prečo sa primárne uvádza nula.;)

 
Odpovědět
20.8.2014 9:42
Avatar
Petr Gürth
Tvůrce
Avatar
Odpovídá na marian.hladik25
Petr Gürth:20.8.2014 9:54

Nula se tam dává většinou kvůli polím a kolekcím. Když máš pole např. o 3 číslech (5, 10, 15), tak první číslo (5) získáš pod indexem nula.

 
Odpovědět
20.8.2014 9:54
Avatar
pavel
Člen
Avatar
pavel:7.9.2014 21:10

Ahoj, chtěl bych poprosit o vysvětlení této věci:
například u té násobilky se výpočet i*j provede až v rámci metody Console.Write:

for (int j = 1; j <= 10; j++)
           {
               for (int i = 1; i <= 10; i++)
               Console.Write("{0} ", i * j);
               Console.WriteLine();
           }
Console.ReadKey();

Když bych výpočet ale z nějakého důvodu chtěl dát v těle cyklu samostatně (třeba abych pak mohl s výsledkem dál pracovat podle nějakých podmínek), funguje to jinak a vypíší se jen poslední výsledky (10, 20, 30...)

int vysledek = 0;
for (int j = 1; j <= 10; j++)
           {
               for (int i = 1; i <= 10; i++)
               vysledek = i * j;
               Console.Write("{0} ", vysledek);
               Console.WriteLine();
           }
Console.ReadKey();

Rád bych věděl, co se v cyklu děje jinak, protože podle mého laického chápání by to mělo dělat úplně totéž, co v prvním případě. Něco mi asi uniká.

 
Odpovědět
7.9.2014 21:10
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na pavel
Jan Vargovský:7.9.2014 21:17

Musíš si přidat další blok :)

Zkus jaký je rozdíl mezi

for(int i = 0; i < 5; i++)
Console.WriteLine("prvni příkaz");
Console.WriteLine("druhý příkaz");

a

for(int i = 0; i < 5; i++)
{
  Console.WriteLine("prvni příkaz");
  Console.WriteLine("druhý příkaz");
}
 
Odpovědět
7.9.2014 21:17
Avatar
pavel
Člen
Avatar
pavel:7.9.2014 21:22

Á, chybějící závorky :) Už to vidím. Měl jsem v těle toho druhého cyklu vlastně jen výpočet a proto se vypsal až poslední výsledek. Díky, vůbec jsem si toho nevšiml a hledal jsem v tom nějaké složitosti.

 
Odpovědět
7.9.2014 21:22
Avatar
theuerk
Člen
Avatar
theuerk:23.9.2014 16:21

Ahoj, mám malinký dotaz k tomuto:

for (int i = 0; i < (n - 1); i++)
        vysledek = vysledek * a;

jde mi o tu deklaraci v cyklu

int i =0;

, podle toho jak jsem to pochopil ji vykoná pouze na začatku a pak už jede pouze od podminky?

Odpovědět
23.9.2014 16:21
Touha po dalším rozvoji
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 208.