public class Main {
public static void main(String[] args) {
// Создаем двумерный вывод матрицы 5x5 по порядку чисел от 1 до 25
int[][] matrix = new int[5][5];
int num = 1;
// Заполняем матрицу диагоналями (обход змейкой/диагональный порядок)
for (int d = 0; d < 9; d++) {
if (d % 2 == 0) {
// Движение снизу-вверх влево
for (int r = Math.min(d, 4); r >= Math.max(0, d - 4); r--) {
int c = d - r;
matrix[r][c] = num++;
}
} else {
// Движение сверху-вниз вправо
for (int r = Math.max(0, d - 4); r <= Math.min(d, 4); r++) {
int c = d - r;
matrix[r][c] = num++;
}
}
}
// Вывод матрицы на экран
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print(matrix[i][j] + "\t");
}
System.out.println();
}
}
}