Заполнение матрицы по спирали - C# (188129)
Формулировка задачи:
При заполнении матрицы 10 на 8 выдаёт ошибку, помогите исправить
int n = Convert.ToInt32(Console.ReadLine());
int n1 = Convert.ToInt32(Console.ReadLine());
int c = 0, s = 0;
int dirch = 0, dx = 1, dy = 0;
int[,] m = new int[n, n1];
int x = n;
Random rand = new Random();
for (int i = 0; i < n*n1; i++)
{
m[c, s] = i + 1;
if (--x == 0)
{
x = n1 * (dirch % 2) + n * ((dirch + 1) % 2) - (dirch / 2 - 1) - 2;
int temp = dx;
dx = -dy;
dy = temp;
dirch++;
}
c += dx;
s += dy;
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n1; j++)
{
Console.Write(m[i, j] + " ");
}
Console.WriteLine();
}
Console.ReadKey();
}Решение задачи: «Заполнение матрицы по спирали»
textual
Листинг программы
m[c, s] = i + 1;