Работа 3.7 Упр.7 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 7. Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива. Восстановить исходную матрицу и напечатать по строкам. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-7/7 98
Квадратная матрица симметрична относительно главной диагонали, значит достаточно знать элементы верхнего треугольника. При восстановлении матрицы каждый элемент ниже диагонали равен соответствующему элементу выше диагонали:
$$a_{ij}=a_{ji}$$
В программе верхний треугольник хранится в одномерном массиве mas. Сначала в него заносятся значения, затем по ним заполняется двумерный массив matr так, чтобы выполнялась симметрия относительно главной диагонали. После этого матрица выводится по строкам.
const N=15;
var
mas: array[1..N] of integer;
matr: array[1..10,1..10] of integer;
i,j,k,a: integer;
begin
for i:=1 to n do
begin
mas[i] := i;
write(mas[i]:3);
end;
writeln;
writeln(‘——‘);
k:=1;
j:=0;
for i:=1 to n do
begin
if j = k then
begin
j := 0;
inc(k);
end;
inc(j);
end;
a := 1;
for i:=1 to k do
for j:=i to k do
begin
matr[i,j] := mas[a];
matr[j,i] := mas[a];
inc(a);
end;
for i:=1 to k do
begin
for j:=1 to k do
write(matr[i,j]:4);
writeln;
end;
end.
Идея решения: элементы верхнего треугольника последовательно читаются из массива mas, а затем каждый из них записывается сразу в две симметричные позиции матрицы: $$matr[i,j]$$ и $$matr[j,i]$$.
Ответ
Матрица восстанавливается по правилу $$a_{ij}=a_{ji}$$, после чего печатается по строкам.