Хелпикс

Главная

Контакты

Случайная статья





Лабораторная работа № 13. Двумерные массивы. Типовые алгоритмы обработки двумерных массивов. Заполнение двумерного массива случайными числами. Вывода на экран элементов двумерного массива. Суммирование элементов главной диагонали



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

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

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

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

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

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

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

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

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

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

const MaxN=10; MaxM=8;

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

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

var a   : TMyArray;

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

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

Реализация:

for i:=1 to n do

                   for j:=1 to m do

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

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

Реализация:

for i:=1 to n do

begin

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

                   writeln;

       end;

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

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

Реализация:

s:=0;

for i:=1 to n do

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

writeln(‘s=’, s);



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.