Homework: Multidimensional Arrays, Sets, Dictionaries - Snake Matrix
Някой може ли да предложи алгоритъм за попълването на snake-like matrix.
Благодаря предварително :))
Някой може ли да предложи алгоритъм за попълването на snake-like matrix.
Благодаря предварително :))
Какво имаш предвид под snake-like? Нещо като 1вата задача ли? Ако съм разбрал за какво говориш, то:
1. Ако редът е нулев, слизаш надолу докато редът не стане последен (ред++).
2. Ако редът е последен се местиш една колона надясно (++) и се качваш нагоре, докато редът не стане нулев (ред--)
3. Местиш се една колона надясно (++)
4. Връщаш се на точка 1.
Ето обяснението на RoYaL в код :)
Само накрая ти остава да я изпринтиш на конзолата.
int[,] matrix = new int[n, n];
int counter = 1;
for (int col = 0; col < n; col++)
{
if (col % 2 == 0)
{
for (int row = 0; row < n; row++)
{
matrix[row, col] = counter;
counter++;
}
}
else
{
for (int row = n - 1; row >= 0; row--)
{
matrix[row, col] = counter;
counter++;
}
}
}
Аз точно за loop-ovete и if-ovete се чудих как е най-оптималният вариант. Мерси много :))