using System; public class Test { public static void Main() { int n = 5; int[,] matrix = new int[n, n]; int curr = 1; for (int diff = 1 - n; diff <= n - 1; diff++) { for (int i = 0; i < n; i++) { int j = i - diff; if (j < 0 || j >= n) continue; if (((diff+n+1)&1) > 0) matrix[i, n-1-j] = curr++; else matrix[n-1-j, i] = curr++; } } for (int j = 0; j < n; j++) { for (int i = 0; i < n; i++) Console.Write(matrix[j, i] + " " ); Console.WriteLine(); } } }