Diskuze: Pole
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Je tam problém s přílohou, tak posílám odkazy:
pokud na to nutně chceš jít matematicky:
private static void naplnPole(int[,] pole)
{
for (int i = 0; i < pole.GetLength(0); i++)
{
for (int j = 0; j < pole.GetLength(1); j++)
{
if (i == j)pole[i, j] = 1;
else
{
if (i < j) pole[i, j] = j + 1 - i;
else pole[i, j] = i * (i -1) + 2 + j*2;
}
}
}
}
nejsem moc na matematiku takže takto složitě
Jedno řešení, které mě napadlo je s pomocnou proměnnou n
private static void naplnPole(int[,] pole)
{
int n = 1;
for (int i = 0; i < pole.GetLength(0); i++)
{
for (int j = 0; j < pole.GetLength(1); j++)
{
if (i == j)
{
pole[i, j] = 1;
}
else
{
pole[i, j] = 0;
}
if (i < j)
{
pole[i, j] = j + 1 - i;
}
if (i > j)
{
pole[i, j] = n * 2;
n++;
}
}
}
}
když "bez matematiky" tak:
int n = 0;
for (int i = 0; i < pole.GetLength(0); i++)
{
for (int j = 0; j < pole.GetLength(1); j++)
{
if (i == j)pole[i, j] = 1;
else
{
if (i < j) pole[i, j] = j + 1 - i;
else pole[i, j] = n += 2;
}
}
}
přijde mi zbytečné to přičítat po jedné a pak násobit dvěma, když to můžu přičítat rovnou po dvou.
Děkuji mnohokrát, tvé řešení se mi přijde nejlepší.
Děkuji vám oběma.
Zobrazeno 6 zpráv z 6.