Сложение матриц
Операции с матрицами
Поиск минимального (максимального) элемента массива
Алгоритм поиска минимального (максимального) элемента массива довольно очевиден: делается предположение, что первый элемент массива является минимальным (максимальным), затем остальные элементы массива сравниваются с этим элементом. Если обнаруживается, что проверяемый элемент меньше ( больше) принятого за минимальный (максимальный) и продолжается проверка оставшихся элементов. Ниже на рис. 20 представлена блок-схема алгоритма поиска минимального элемента в массиве из 10 целых чисел.
Рис.20. Блок-схема алгоритма поиска минимального элемента.
Программа:
Program Example ;
Var
A : Array[1..10] of integer ; { массив целых чисел ] ;
Min : Integer ; { номер минимального элемента массива }
i : Integer ; { номер элемента сравниваемого с минимальным}
Begin
WriteLn(‘ Введите 10 целых чисел в одной строке через пробел ‘) ;
for i :=1 to 10 do ReadLn(A[i]) ; { Ввод массива целых }
Min := A[1] ;
for i := 2 to 10 do
if A[i] < Min then Min := A[i] ;
WriteLn(‘ Минимальный элемент массива : ‘, Min:3) ;
End.
Матрицей A размерности n ´ m называется двумерный массив из n строк и m столбцов :
где ¾ элементы матрицы A.
Наиболее типичные действия производимые над матрицами:
* сложение матриц;
* транспонирование матрицы;
* умножение матриц.
Рассмотрим на примере сложения двух матриц A и B размерности 3 ´ 4.
Блок-схема алгоритма сложения матриц представлена на рис. 21.
Рис.21. Блок-схема алгоритма сложения матриц.
Программа:
program Summa_matrix;
Const
m=4;
n=3;
Type
matrix = array[1..n,1..m] of Integer;
Var
A,B,C : matrix;
i,j : Integer;
BEGIN
Writeln('Ввод матрицы A');
for i:= 1 to n do
begin
writeln('Cтрока',i:2);
for j := 1 to m do
begin
write('Столбец',j:2,'->');
readln(A[i,j])
end;
end;
Writeln('Ввод матрицы B');
for i:= 1 to n do
begin
writeln('Cтрока',i:2);
for j := 1 to m do
begin
write('Столбец',j:2,'->');
readln(B[i,j])
end;
end;
writeln('Матрица С - сумма матриц A и B') ;
for i:= 1 to n do begin
for j := 1 to m do begin
C[i,j] := A[i,j] + B[i,j] ;
write(C[i,j]:3)
end ;
writeln ;
end
End.
Пусть дана матрица размерности n ´ m. Матрица размерности m ´ n называется транспонированной к матрице A, если ее элементы определены по формуле .
Рассмотрим пример транспонирования матрицы размерности 2 ´ 3.
Блок-схема алгоритма транспонирования матрицы представлена на рис. 22.
Рис.22. Блок-схема алгоритма транспонирования матрицы.
Программа:
program Transp_matrix;
Const
m=3;
n=2;
Var
A : array[1..n,1..m] of integer;
B : array[1..m,1..n] of integer;
i,j : Integer;
BEGIN
Writeln('Ввод матрицы A');
for i:= 1 to n do
begin
writeln('Cтрока',i:2);
for j := 1 to m do
begin
write('Столбец',j:2,'->');
readln(A[i,j])
end;
end;
writeln('Матрица B - Транспонированная к матрице A') ;
for i:= 1 to m do begin
for j := 1 to n do begin
B[i,j] := A[j,i] ;
write(B[i,j]:3)
end ;
writeln ;
end
End.