7.3.1. Транспонировать матрицу A(2,3) (транспонировать - поменять местами строки и столбцы).
Схема алгоритма решения задачи приведена на рис.7.
Программа:
Program Trans;
Var A:array[1..2,1..3] of real;
AT:array[1..2,1..3] of real; i,j:integer;
begin
for i:=1 to 2 do
for j:=1 to 3 do read(A[i,j]);
for i:=1 to 2 do
for j:=1 to 3 do
Рис.7.Блок-схема алгоритма решения задачи из п.7.3.1
AT[j,i]:=A[i,j];
write('Транспонированный массив');
for i:=1 to 3 do
begin
writeln;
for j:=1 to 2 do
write(AT[i,j]:5)
end
end.
7.3.2. Дана действительная матрица размера n*n, все элементы которой различны. Требуется упорядочить (переставить) строки матрицы по возрастанию первых элементов строк.
Решение.
Схема алгоритма решения задачи приведена на рис.8.
Программа:
ProgRAM Prim2;
Const n=5;
Var v: array[1..n] of real; X: array[1..n,1...N] of rEAL;
i,j,k:integer;
begin
for i:=1 to n do
for j:=1 to n do read (X[i,j]);
for i:=1 to n do
begin k:=i;
for j:=i+1 to n do
if X[j,1]<X[k,1] then k:=j;
v:=X[i]; X[i]:=X[k]; X[k]:=v;
END;
for i:=1 to n do
for j:=1 to n do write(X[i,j])
end.
Рис.8. Блок-схема алгоритма решения задачи из п.7.3.2
7.3.3. Дана квадратная матрица размера n*n (n - целочисленная константа), состоящая из действительных чисел. Преобразовать матрицу, вычитая поэлементно последний столбец из всех столбцов, кроме последнего.
Схема алгоритма решения задачи приведена на рис.9.
Программа:
Program Prim3;
const n=7;
var matr:array[1..n,1..n] of real; i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=a[i,j]-a[i,n];
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(a[i,j])
end
end.
Решение.
Рис.9.Блок-схема алгоритма решения задачи из п.7.3.3