Составить программку, которая наполняет квадратную матрицу порядка п естественными числами 1,
Составить программку, которая наполняет квадратную матрицу порядка п естественными числами 1, 2, 3, ..., n2, записывая их в нее по спирали.
К примеру, для п = 5 получаем последующую матрицу:
1nbsp; nbsp; 2nbsp; nbsp; 3nbsp; nbsp; 4nbsp; nbsp; 5
16nbsp; nbsp; 17nbsp; nbsp; 18nbsp; nbsp; 19nbsp; nbsp; 6
15nbsp; nbsp; 24nbsp; nbsp; 25nbsp; nbsp; 20nbsp; nbsp; 7
14nbsp; nbsp; 23nbsp; nbsp; 22nbsp; nbsp; 21nbsp; nbsp; 8
14nbsp; nbsp; 12nbsp; nbsp; 11nbsp; nbsp; 10nbsp; nbsp; 9
1 ответ
Кирюха Челочаев
const
nbsp;nbsp;nmax=20;
var
nbsp;nbsp;a: array[1..nmax,1..nmax] of byte;
nbsp;nbsp;n,i,j,c,k: byte;
begin
nbsp;nbsp;repeat
nbsp;nbsp;nbsp;nbsp;write(Введите размер матрицы n: );
nbsp;nbsp;nbsp;nbsp;readln(n);
nbsp;nbsp;until nlt;=20;
nbsp;
nbsp;nbsp;i:=1; j:=1; c:=0; k:=1;
nbsp;nbsp;repeat
nbsp;nbsp;nbsp;nbsp;//на право
nbsp;nbsp;nbsp;nbsp;while (klt;=n*n)and(jlt;=n-c) do
nbsp;nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;a[i,j]:=k;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(j);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(k);
nbsp;nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;nbsp;//вниз
nbsp;nbsp;nbsp;nbsp;inc(i); dec(j);
nbsp;nbsp;nbsp;nbsp;while (klt;=n*n)and(ilt;=n-c) do
nbsp;nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;a[i,j]:=k;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(i);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(k);
nbsp;nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;nbsp;//на лево
nbsp;nbsp;nbsp;nbsp;dec(j); dec(i);
nbsp;nbsp;nbsp;nbsp;while (klt;=n*n)and(jgt;=1+c) do
nbsp;nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;a[i,j]:=k;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;dec(j);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(k);
nbsp;nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;nbsp;//ввысь
nbsp;nbsp;nbsp;nbsp;inc(c); inc(j); dec(i);
nbsp;nbsp;nbsp;nbsp;while (klt;=n*n)and(igt;=1+c) do
nbsp;nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;a[i,j]:=k;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;dec(i);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(k);
nbsp;nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;nbsp;inc(j); inc(i);
nbsp;nbsp;until kgt;n*n;
nbsp;
nbsp;nbsp;writeln(Матрица по спирали:);
nbsp;nbsp;for i:=1 to n do
nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;for j:=1 to n do
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;write(a[i,j]:4);
nbsp;nbsp;nbsp;nbsp;writeln;
nbsp;nbsp;end;
end.
nbsp;nbsp;nmax=20;
var
nbsp;nbsp;a: array[1..nmax,1..nmax] of byte;
nbsp;nbsp;n,i,j,c,k: byte;
begin
nbsp;nbsp;repeat
nbsp;nbsp;nbsp;nbsp;write(Введите размер матрицы n: );
nbsp;nbsp;nbsp;nbsp;readln(n);
nbsp;nbsp;until nlt;=20;
nbsp;
nbsp;nbsp;i:=1; j:=1; c:=0; k:=1;
nbsp;nbsp;repeat
nbsp;nbsp;nbsp;nbsp;//на право
nbsp;nbsp;nbsp;nbsp;while (klt;=n*n)and(jlt;=n-c) do
nbsp;nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;a[i,j]:=k;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(j);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(k);
nbsp;nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;nbsp;//вниз
nbsp;nbsp;nbsp;nbsp;inc(i); dec(j);
nbsp;nbsp;nbsp;nbsp;while (klt;=n*n)and(ilt;=n-c) do
nbsp;nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;a[i,j]:=k;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(i);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(k);
nbsp;nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;nbsp;//на лево
nbsp;nbsp;nbsp;nbsp;dec(j); dec(i);
nbsp;nbsp;nbsp;nbsp;while (klt;=n*n)and(jgt;=1+c) do
nbsp;nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;a[i,j]:=k;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;dec(j);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(k);
nbsp;nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;nbsp;//ввысь
nbsp;nbsp;nbsp;nbsp;inc(c); inc(j); dec(i);
nbsp;nbsp;nbsp;nbsp;while (klt;=n*n)and(igt;=1+c) do
nbsp;nbsp;nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;a[i,j]:=k;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;dec(i);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;inc(k);
nbsp;nbsp;nbsp;nbsp;end;
nbsp;nbsp;nbsp;nbsp;inc(j); inc(i);
nbsp;nbsp;until kgt;n*n;
nbsp;
nbsp;nbsp;writeln(Матрица по спирали:);
nbsp;nbsp;for i:=1 to n do
nbsp;nbsp;begin
nbsp;nbsp;nbsp;nbsp;for j:=1 to n do
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;write(a[i,j]:4);
nbsp;nbsp;nbsp;nbsp;writeln;
nbsp;nbsp;end;
end.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов