Предмет: Информатика, автор: n7337537

java, ДАМ 30 БАЛІВ

Заполните n мерный квадратный массив числами, которые увеличиваются на 1 по спирали (число n должно задаваться с клавиатуры). Выведите результат на экран с соблюдением ширины столбцов.

Для примера массив 4 на 4 должен выглядеть как указано в примере.

Пример:

1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
Дополнительно (не обязательно): попробуйте решить только одним циклом.

Ответы

Автор ответа: 1h36u
0

Ответ:

import java.util.Scanner;

public class SpiralMatrix {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("Enter n: ");

int n = scanner.nextInt();

int[][] matrix = new int[n][n];

int rowStart = 0;

int rowEnd = n - 1;

int colStart = 0;

int colEnd = n - 1;

int count = 1;

while (rowStart <= rowEnd && colStart <= colEnd) {

for (int i = colStart; i <= colEnd; i++) {

matrix[rowStart][i] = count++;

}

rowStart++;

for (int i = rowStart; i <= rowEnd; i++) {

matrix[i][colEnd] = count++;

}

colEnd--;

if (rowStart <= rowEnd) {

for (int i = colEnd; i >= colStart; i--) {

matrix[rowEnd][i] = count++;

}

rowEnd--;

}

if (colStart <= colEnd) {

for (int i = rowEnd; i >= rowStart; i--) {

matrix[i][colStart] = count++;

}

colStart++;

}

}

for (int[] row : matrix) {

for (int num : row) {

System.out.printf("%2d ", num);

}

System.out.println();

}

}

}


1h36u: У меня шаблоны готовые лежат
iramazurk: и по химии шаблоны? ))))
1h36u: Код это универсальная вещь, он один у всех одинаковый, и практически похожий по составу.
1h36u: Там я делал лично, но связи с интернетом ответы задерживались
iramazurk: все, разговор с тобой окончен!
iramazurk: Не неси ахинею, ответы задерживались
1h36u: Не знаешь - не пиши. Не будешь выглядеть глупо
nullptr53: эхх чувствую себя бесполезным, нейросети в 100 раз лучше и быстрее пишут
nullptr53: у тебя есть ответ на украинском, вряд ли это чатджп
nullptr53: или он и на укр. уже писать может?
Похожие вопросы
Предмет: Геометрия, автор: Аноним