Примеры программ

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;

constn=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