Суммирование элементов строк (столбцов)

Лабораторная работа № 13

Двумерные массивы

Цель работы: освоение приемов объявления, обращения и использования двумерных массивов при решении задач.

Двумерные массивы являются частным случаем многомерных массивов и обладают теми же свойствами, что и одномерные массивы. От одномерных массивов они отличаются только тем, что указывается два параметра (индекса) при обращении к элементу массива. Например, А[i, j], где i – номер строки, j- номер столбца. К двумерным массивам применимы типовые алгоритма обработки одномерных массивов. Дополнительные типовые алгоритма обработки двумерных массивов:

§ суммирование элементов главной диагонали;

§ суммирование элементов побочной диагонали;

§ суммирование элементов строк (столбцов);

§ поиск минимального (максимального) элемента каждой строки (столбца).

Один из возможных вариантов объявления двумерного массива в программе:

{объявляем две константы – максимально возможное количество строк и столбцов}

const MaxN=10; MaxM=8;

{объявляем тип данных –двумерный массив целых чисел}

type TMyArray=Array[1..MaxN, 1..MaxM] of Integer;

var a: TMyArray;

Типовые алгоритмы обработки двумерных массивов

Заполнение двумерного массива случайными числами

Реализация:

for i:=1 to n do

for j:=1 to m do

a[i, j]:=random(20)-10;

Вывода на экран элементов двумерного массива

Реализация:

for i:=1 to n do

begin

for j:=1 to m do write(a[i, j], ‘ ‘);

writeln;

end;

Суммирование элементов главной диагонали

Алгоритм имеет смысл только для массива, в котором количество столбцов равно количеству строк. К элементам главной диагонали относятся следующие элементы: а11, а22, а33,….аnn. Следовательно, для суммирования элементов необходимо организовать цикл, параметр которого будет являться индексом и для строк, и для столбцов.

Реализация:

s:=0;

for i:=1 to n do

s:=s+a[i, i];

writeln(‘s=’, s);

Суммирование элементов побочной диагонали

Алгоритм имеет смысл только для массива, в котором количество столбцов равно количеству строк. К элементам побочной диагонали относятся следующие элементы: а15, а24, а33, а42, а51. Как видно из примера, индексы строк возрастают, одновременно индексы столбцов убывают. Поэтому для исполнения алгоритма организуем цикл, который будет менять номера строк, одновременно в цикле будем менять номера столбцов.

Реализация:

s:=0;

j:=n;

for i:=1 to n do

begin

s:=s+a[i, j];

j:=j-1;

end;

writeln(‘s=’, s);

Суммирование элементов строк (столбцов)

Поскольку строка (столбец) - это есть одномерный массив, то для суммирования элементов строки (столбца) используют алгоритм «Суммирование элементов одномерного массива». Этот алгоритм выполняется столько раз, сколько в массиве строк (столбцов).

Реализация:

for i:=1 to n do

begin

s:=0; {обнуляем s}

{суммирование элементов i строки}

for j:=1 to m do

s:=s+a[i, j];

writeln(‘сумма ’, i, ‘ строки= ’, s);

end;


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



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