Заполнить двухмерный массив целыми числами от 1 до 100 по спирали - C#
Формулировка задачи:
Заполнить двухмерный массив целыми числами от 1 до 100 по спирали.
Решение задачи: «Заполнить двухмерный массив целыми числами от 1 до 100 по спирали»
textual
Листинг программы
int k = 0, l = 0,
n = 1, m = 1;
int j = 0;
Tuple<int, int, int, int> a = Tuple.Create(0, 0, 1, 1);
for (int i = 0; i < maxI; i++)
{
a = (k < arrX - n && l < m)
? Tuple.Create(k + 1, l, m, n) : (k == arrX - n && l < arrY - m)
? Tuple.Create(k, l + 1, m, n) : (l == arrY - m && k > n - 1)
? Tuple.Create(k - 1, l, m, n) : (k == n - 1 && l == m)
? Tuple.Create(k + 1, l, m + 1, n + 1) : (k == n - 1 && l > m - 1)
? Tuple.Create(k, l - 1, m, n) : Tuple.Create(k, l, m, n);
k = a.Item1;
l = a.Item2;
m = a.Item3;
n = a.Item4;
j++;
arr1[l, k] = j;
}
}