Массив A

2.0 4.0 8.0 16.0 32.0 64.0

Массив B

9.0 16.0 25.0 36.0 49.0

Массив C

11.0 18.0 27.0 38.0 51.0

13.0 20.0 29.0 40.0 53.0

17.0 24.0 33.0 44.0 57.0

25.0 32.0 41.0 52.0 65.0

41.0 48.0 57.0 68.0 81.0

73.0 80.0 89.0 100.0 113.0

Пример 2. Создать двумерный массив , где ; по правилу . Найти сумму наибольших элементов строк матрицы с четными номерами. Вывести на печать саму матрицу, номера строк, в которых производился поиск наибольших элементов, сами наибольшие элементы и окончательный ответ.

Решение.

1. Анализ задачи.

Обозначим: Max – наибольший элемент в строке с четным номером, N_Max – номер столбца, в котором найден наибольший элемент, sum – сумма наибольших элементов строк матрицы с четными номерами. Для проверки чётности будем использовать функцию Odd(k), которая возвращает True, если k – нечётное число и False, если k – чётное число.

2. Тест для отладки программы.

;

; ;

; ;

; ;

; .

Наибольший элемент будет .

3. Блок-схема:

 
 


4. Программа:

program Matr;

TYPE

Matrix=array [2..7,1..9] of real;

VAR

a: Matrix;

sum, Max: Real;

N_Max: Integer;

i,j: Integer;

BEGIN

for i:=2 to 7 do

for j:=1 to 9 do

a[i,j]:= sin(i+j) + cos(i-j); {Вычисление элементов массива}

{ Печатаем массив в виде таблицы }

WriteLn('Массив A');

for i:=2 to 7 do

Begin

for j:=1 to 9 do

write(a[i,j]:6:3,' ');

writeln; {перевод курсора на следующую строку}

end;

sum:=0;{ Обнуляем переменную для подсчета суммы }

for i:=2 to 7 do begin

if odd(i)=false then begin

{ Присваиваем максимуму значение первого элемента в столбце }

Max:= a[i,1];

{ Ищем максимальный элемент и его номер, начиная со следующей строки }

for j:=2 to 9 do

if Max < a[i,j] then begin

Max:= a[i,j];

N_Max:= j; end;

sum:= sum + Max;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: