1 1 1 1 1 1
1 2 2 2 2 1
1 2 3 3 2 1
1 2 3 3 2 1
1 2 2 2 2 1
1 1 1 1 1 1
Не могу придумать, как можно заполнить матрицу таким образом и вывести её на экран?
Задачка довольно тривиальная и немного математическая:
public static int[][] pyramideMatrix(int cells) {
// или `cells * 2`, чтобы пирамида была как в вопросе
int dim = cells * cells;
int[][] arr = new int[dim][dim];
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
int ii;
int ij;
if (i < dim/2) {
ii = Math.min(i, j);
} else {
ii = Math.min(dim - 1 - i, j);
}
if (j < dim/2) {
ij = Math.min(i, j);
} else {
ij = Math.min(i, dim - 1 - j);
}
arr[i][j] = Math.min(ii, ij);
}
}
return arr;
}
Вот пример:
int[][] matrix = pyramideMatrix(3);
StringBuilder sb = new StringBuilder();
for (int[] arr: matrix) {
sb.append(Arrays.toString(arr)).append('\n');
}
System.out.println(sb);
Вывод в консоль:
[0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 1, 1, 1, 1, 1, 1, 1, 0]
[0, 1, 2, 2, 2, 2, 2, 1, 0]
[0, 1, 2, 3, 3, 3, 2, 1, 0]
[0, 1, 2, 3, 4, 3, 2, 1, 0]
[0, 1, 2, 3, 3, 3, 2, 1, 0]
[0, 1, 2, 2, 2, 2, 2, 1, 0]
[0, 1, 1, 1, 1, 1, 1, 1, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0]
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть массив объектов и элемент текстового поля класса JTextAreaНеобходимо вывести в этот элемент несколько длинных предложений, состоящих из моих...
Необходимо получить джсон, который находится по ссылке https://swapgg/api/inventory/bot