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--;
}