PROGRAM example1; CONST N = 8; M = 10; VAR a : ARRAY [ 1 .. N , 1 .. M ] of INTEGER; i, j : INTEGER; BEGIN FOR i := 1 TO N DO FOR j := 1 TO M DO a[ i, j ] := random(10) ; WRITELN(‘Полученны

Слайд 2

PROGRAM example;
uses crt;
CONST N = 8; М = 10;
VAR a

PROGRAM example; uses crt; CONST N = 8; М = 10; VAR
: ARRAY [ 1 .. N , 1 .. М ] of INTEGER;
i,j : INTEGER;
sum: INTEGER;
BEGIN
Randomize;
sum := 0;
FOR i := 1 TO N DO
FOR j := 1 TO M DO
A[i,j] := random(10) ;
WRITELN( 'Полученный массив: ‘ ) ;
FOR i := 1 TO N DO
BEGIN
FORj := 1 TO M DO
WRITE( a[i,j],' ' ) ;
WRITELN( " ) ;
END;
FOR i := 1 TO N DO
FOR j := 1 TO M DO
sum := sum+a[i,j];
WRITELN('Сумма элементов массива: ',sum);
END.

Программа, позволяющая заполнить двухмерный массив А и вычислить сумму элементов данного массива.

Слайд 3

S:=0;
For i:=1 to m do
For j:=1 to n do

S:=0; For i:=1 to m do For j:=1 to n do S:=S+a[i,j];
S:=S+a[i,j];

Алгоритм вычисления суммы элементов всего двумерного массива.

Слайд 4

Нужно использовать базовый алгоритм вычисления суммы элементов одномерного массива ( это будут

Нужно использовать базовый алгоритм вычисления суммы элементов одномерного массива ( это будут
строки) и повторить его столько раз, сколько имеется строк.
Совет: чтобы не ошибиться, напишите сначала базовый алгоритм вычисления суммы для строки, а потом повторяйте его нужное количество раз.

Теперь повторим алгоритм 3 раза
for i:=1 to 3 do begin
S:=0;
for j:=1 to 4 do
S:=S+a[ i, j ];
writeln(S,i)
end;

S:=0;
For j:=1 to 4 do
S:=S+а[индекс строки,j]
{ для того, чтобы перемещаться по строке мы меняем индекс j }

Вычисление суммы элементов каждой строки.

Слайд 5

Задача сводится к повторению аналогичного базового алгоритма для одномерных массивов m раз,

Задача сводится к повторению аналогичного базового алгоритма для одномерных массивов m раз,
если мы ищем максимальный элемент каждой строки.

Задача поиска максимального (минимального) элемента (считая, что элемент единственный)
для каждой строки

Для i-той строки алгоритм выглядит следующим образом:
mах:=а[номер_строки, 1];
For j:=1 to n do if a[номер_строки,j]>max then max:=a[номеp_строки,j]

Повторим алгоритм m раз
for i:=1 to m do
begin
max:=a[i,1];
For j:=1 to n do
if a[i,j]>max then
max:=a[i,j]
end;

Слайд 6

for j:=1 to n do {перемещаемся по столбцу}
min:=a[1,j];
for i:=1 to m

for j:=1 to n do {перемещаемся по столбцу} min:=a[1,j]; for i:=1 to
do {начинаем движение по i-тому столбцу}
if a[i,j] min:=a[i,j];
end;
writeln('min=',j,' столбца ',min)
end;

Алгоритм поиска минимального элемента для каждого столбца:

Слайд 7

for i:=1 to m do
begin
max:=a[i,1];
ind_L:=i; {сохраняем номер строки}
ind_C:=1; {заносим

for i:=1 to m do begin max:=a[i,1]; ind_L:=i; {сохраняем номер строки} ind_C:=1;
номер 1—первый столбец}
for j:=1 to n do
if a[i,j]>max then
begin
max:=a[i,j];
ind_C:=j {сохраняем номер j-ого столбца} end;
writeln('max строки=', i, mах) end;

Алгоритм для случая, когда надо сохранить индексы максимального элемента.

Слайд 8

for j:=1 to n do {перемещаемся по столбцу}
begin
min:=a[1,j];
ind_L:=1; {сохраняем номер

for j:=1 to n do {перемещаемся по столбцу} begin min:=a[1,j]; ind_L:=1; {сохраняем
строки}
ind_C:=j; {сохраняем номер столбца}
for i:=1 to m do {начинаем движение по i-тому столбцу}
if a[i,j] begin
min:=a[i,j];
ind_L:=i {сохраняем номер i-той строки}
end;
writeln('min=',j,' столбца ',min)
end;

Алгоритм поиска минимального элемента и его индексов для каждого столбца:

Имя файла: PROGRAM-example1;-CONST-N-=-8;-M-=-10;-VAR-a-:-ARRAY-[-1-..-N-,-1-..-M-]-of-INTEGER;-i,-j-:-INTEGER;-BEGIN-FOR-i-:=-1-TO-N-DO-FOR-j-:=-1-TO-M-DO-a[-i,-j-]-:=-random(10)-;-WRITELN(‘Полученны.pptx
Количество просмотров: 115
Количество скачиваний: 0