Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Studentský problém s ukolem

Opakování kódu je jedna z nejhorších chyb, jakých se můžeš při programování dopustit.

if (prohozeni == false)
{
...
}
else if (prohozeni == true)
Proměnná typu bool může mít pouze dvě hodnoty: true nebo false. Takže pokud to neprojde ifem, automaticky to znamená, že prohození = true a není tam nutné psát další if.
A zápis toho ifu je sice funkční, ale v praxi se s ním asi nesetkáš. Mnohem obvyklejší je:
if (!prohozeni)
Pokud ti jde pouze o splnění zadání a ne o to, aby tvůj kód byl kvalitní, tak by ses o programování radši ani neměl pokoušet.

Celé se to dá napsat např. takhle:
var opakovani = Convert.ToInt32(Console.ReadLine());
var radky = Convert.ToInt32(Console.ReadLine());
int sloupce;
if (!int.TryParse(Console.ReadLine(), out sloupce))
{
    sloupce = radky;
    radky = opakovani;
    opakovani = 1;
}
radky = Math.Min(sloupce, radky);
while (opakovani > 0)
{
    for (var r = 0; r < radky; r++)
    {
        var posledni = r + 1;
        for (var s = sloupce; s > r; s--)
        {
            Console.Write(s);
            if (s > posledni) Console.Write(" ");
        }
        Console.WriteLine();
    }
    Console.WriteLine();
    opakovani--;
}

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny