Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABs1-10a.doc
Скачиваний:
6
Добавлен:
17.11.2019
Размер:
833.54 Кб
Скачать

Лабораторная работа n 10. Многомерные массивы

====================

Цель и задача работы : продолжение изучения структурированных

---------------------- данных. Понятие двумерный массив.

Теоретические положения.

------------------------

Двумерным массивом называется матрица. Все ограничения, наложен-

ные на одномерные массивы остаются в силе и для двумерного массива,

т.е. значение индекса не должно выходить за пределы допустимого

диапазона, элементы должны иметь один и тот же тип. Основным отличием

многомерных массивов, в частности двумерных, от одномерных является

то, что в качестве элементов многомерного массива могут быть мас-

сивы.

Массив можно описать несколькими способами, один из них (формат

описания массивов) был приведен в предыдущей работе:

TYPE MATR=ARRAY [BOOLEAN,1..12] OF INTEGER;

VAR A: MATR; I,J: INTEGER;

В первой строке описали тип MATR, как двумерный целочисленный

массив с двумя строками (тип BOOLEAN имеет всего два значения) и 12

столбцами. Переменная A имеет тип MATR, т.е. A - переменная, являю-

щаяся двумерным целочисленным массивом с 2 строками и 12 столбцами.

Пример:

I:=5; J:=6;

A[J>I,(J+I) DIV 10]:=25; (*т.Е. A[FALSE,3]:=25;*)

Варианты заданий : задана матрица NXM, где N>1, M>1

------------------

1) Вычеркнуть из матрицы I-тые строки и J-тые столбцы, удовлетворя-

ющие условию: I*J=Z (где Z задаваемый параметр от N до большего из N и M)

2) Заданы две матрицы (NXM,MXN), перемножить эти матрицы

3) Заданы две матрицы (NXM), получить сумму этих матриц

4) J-тый столбец матрицы умножить на K

5) Транспонировать матрицу

6) Умножить матрицу на заданное число X

7) Четные строки матрицы заменить на X

8) В матрице поменять местами I-тую строку и J-тый столбец

9) В матрице поменять местами I-тую и J-тую строки

10) Переставляя строки и столбцы матрицы, добиться, что бы в левом

верхнем углу оказался наибольший элемент матрицы (один из них)

11) Упорядочить матрицу построчно по возрастанию

12) Вычислить сумму элементов матрицы (на рисунке выделены символом X)

1 M

+-----------+

1 IXXXXXXXXXXXI

IX+-------+XI

IXI IXI

IXI IXI

IX+-------+XI

N IXXXXXXXXXXXI

+-----------+

13) Вычислить сумму элементов матрицы вдоль ее диагоналей

14) Вычислить сумму элементов матрицы (N и M - нечетные и N=M),

1 M расположенных внутри меньшего из квадратов

+------+

1 I /\ I

I/XXXX\I

I\XXXX/I

N I \/ I

+------+

15) Определить, является ли заданная матрица симметричной относи-

тельно главной диагонали (N=M)

16) Осуществить поворот матрицы против часовой стрелки на 90 градусов

17) Вычислить сумму элементов матрицы (выделены символом X)

1 M

+---------------+

1 I\ /I

IXX\ /XXI

IXXXX\ /XXXXI

IXXXXXX\ /XXXXXXI

IXXXXXX/ \XXXXXXI

IXXXX/ \XXXXI

IXX/ \XXI

N I/ \I

+---------------+

18) Упорядочить матрицу по убыванию по столбцам

19) Определить, является ли заданная матрица ортонормированной,

т.е. скалярное произведение каждой пары различных строк (столб-

цов) равно нулю

20) Определить, является ли заданная матрица магическим квадратом,

т.е. суммы элементов всех строк и столбцов одинаковы

21) Определить один из седловых элементов матрицы (наибольший в

строке и наименьший в столбце)

22) Найти скалярное произведение строки матрицы с наименьшим эле-

ментом на столбец матрицы с наибольшим элементом

23) Получить треугольник паскаля (биноминальные коэффициэнты)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

24) Осуществить поворот смежных с элементом матрицы [I,J] элементов

на 90 градусов против часовой стрелки (1<I<N,1<J<M)

25) Определить минимальный вектор-строку и максимальный вектор-

столбец (минимальным вектором из векторов (1,5,3,4) и

(1,5,4,4) будет вектор (1,5,3,4), т.К. 3-Я координата первого

вектора меньше 3-ей координаты второго вектора).

26) Вычислить сумму элементов,лежащих на диагоналях матрицы N*N

(обратить внимание на четность-нечетность числа N ).

27) Найти сумму последнх элементов каждой строки и каждого

столбца

28) Определить среднее арифметическое элементов,лежащих на

пересечении строк,номера которых кратны трем и столбцов,

номера которых кратны двум.

29) Определить номера строк матрицы, в которых знаки элементов

чередуются

30) Наити разность сумм элементов,расположенных над главной

и под неглавной диагональю матрицы.

31) Вычеркнуть из матрицы строки и столбцы, на пересечении которых

находятся наибольший и наименьший элементы матрицы.

32) Упорядочить элементы матрицы по возрастанию на каждой диагонали.

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]