28 Янв 2020 в 19:41
169 +1
0
Ответы
1

Дана квадратная матрица размером n x n. Напишите программу на языке Pascal, которая будет заполнять данную матрицу числами от 1 до n^2 по спирали.

Пример:

Ввод:
n = 3
Вывод:
1 2 3
8 9 4
7 6 5

Программа:

program SpiralMatrix;
var
n, i, j, k, num: integer;
matrix: array[1..100, 1..100] of integer;
begin
write('Введите размер квадратной матрицы: ');
readln(n);
num := 1;
for k := 1 to (n + 1) div 2 do
begin
for i := k to n - k + 1 do
begin
matrix[k, i] := num;
num := num + 1;
end;
for j := k + 1 to n - k + 1 do
begin
matrix[j, n - k + 1] := num;
num := num + 1;
end;
for i := n - k downto k do
begin
matrix[n - k + 1, i] := num;
num := num + 1;
end;
for j := n - k downto k + 1 do
begin
matrix[j, k] := num;
num := num + 1;
end;
end;
for i := 1 to n do
begin
for j := 1 to n do
begin
write(matrix[i, j], ' ');
end;
writeln;
end;
end.

После запуска программы и ввода размера матрицы n, она сначала заполнит элементы матрицы числами от 1 до n^2 по спирали, а затем выведет полученную матрицу на экран.

18 Апр 2024 в 18:40
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир