Пример 14.1. Дана матрица А(n*n), найти произведение элементов каждого столбца матрицы.
Рисунок 12 – Блок-схема алгоритма решения задачи
Программа:
Program Project1;
Type Mas=array [1..8] of real;
Mas1=array [1..8,1..8] of real;
Var
A: Mas1;
I,j,n:integer; P:Mas;
Begin
//ввод размера массива
Write('n=');
Readln(n);
//ввод значений элементов массива
//значения элементов каждой строки вводятся в одну строку через пробел
//в конце каждой строки нажимается клавиша Enter
For i:=1 to n do
For j:=1 to n do
Read(a[I,j]);
//расчет произведений элементов каждого столбца
For j:=1 to n do //начало внешнего цикла
Begin
P[j]:=1;
For i:=1 to n do //начало вложенного цикла
P[j]:=P[j]*a[i,j]; //конец вложенного цикла
Writeln('P[',j:1, ']= ',P[j]:6:2);
End; //конец внешнего цикла
//вывод матрицы А
Writeln('Матрица А : ');
For i:=1 to n do //начало внешнего цикла
Begin
For j:=1 to n do //начало вложенного цикла
Write(a[i,j]:5:1); //конец вложенного цикла
Writeln;
End; //конец внешнего цикла
End.
Пример 14.2.Поиск максимального значения и его индексов в массиве a.
program Project2;
const n= 3; m=4;
type m1=array[1..n,1..m] of real;
var a:m1; i,j,n1,n2:integer; max:real;
begin
for i:=1 to n do
for j:=1 to m do
read(a[i,j]); // ввод значений массива a
max:=a[1,1]; n1:=1; n2:=1;
for i:=1 to n do
for j:=1 to m do
if a[i,j]>max then begin
max:=a[i,j]; n1:=i;
n2:=j;
end;
writeln('a_max=',max:3:1); // вывод значения максимального элемента
writeln('i=',n1,' j=',n2); // вывод номера максимального элемента
readln;
readln;
end.
При исходных данных
1 2.5 5.2 8
7 8 9.3 6
9 15.5 6 9
Результат работы программы:
a_max=15.5
i=3 j=2