Моделювання подання в пам'яті векторів і таблиць

Страницы работы

Содержание работы

ЛАБОРАТОРНА РОБОТА № 2

2.1. Тема: Моделювання подання в пам'яті векторів і таблиць

2.2. Мета: Придбання і закріплення навичок розміщення в пам'яті векторів і таблиць.

2.3. Теми для попередньї роботи

2.3.1. Найпростіші статичні структури даних

2.4. Індивідуальні завдання

Розробити спосіб ощадливого розміщення в пам'яті заданої розрідженої таблиці, де записані цілі числа. Розробити процедури/функції, що забезпечують доступ до елементів таблиці по номерах рядка і стовпця. У контрольній програмі забезпечити запис і читання всіх елементів таблиці. Порівняти час доступу до елементів таблиці для традиційного та ощадливого подання її в пам'яті. Варіант завдання обрати у таблиці 2.1 згідно із своїм номером у журналі

Таблиця 2.1. Варіанти індивідуальних завдань

#п/п

Вид вихідної матриці

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Нульові елементи розташовані в лівій половині матриці

Нульові елементи розташовані в правій половині матриці

Нульові елементи розташовані вище головної діагоналі

Нульові елементи розташовані у верхній половині матриці

Нульові елементи розташовані в нижній половині матриці

Усі елементи непарних рядків - нульові

Усі елементи парних рядків - нульові

Усі елементи непарних стовпців - нульові

Усі елементи парних стовпців - нульові

Нульові елементи розташовані в шаховому порядку, починючи з 1-го елемента 1-го рядка

Нульові елементи розташовані в шаховому порядку, починаючи з 2-го елемента 1-го рядка

Нульові елементи розташовані на місцях з парними індексами рядків і стовпців

Нульові елементи розташовані на місцях з непарними індексами рядків і стовпців

Нульові елементи розташовані вище головної діагоналі на непарних рядках і нижче головної діагоналі - на парних

Нульові елементи розташовані нижче головної діагоналі на непарних рядках і вище головної діагоналі - на парних

Нульові елементи розташовані у першій та третій тритинах строк матриці.

Нульові елементи розташовані у лівій та правій тритинах стовпців матриці.

Продовження таблиці 2.1

18

19

20

21

22

23

24

25

26

27

29

   30

Нульові елементи розташовані у першій та третій тритинах строк та у лівій та правій тритинах стовпців матриці.

Нульові елементи розташовані на головній діагоналі й у верхній половині матриці вище діагоналі

Нульові елементи розташовані на головній діагоналі й у нижній половині матриці нижче діагоналі

Нульові елементи розташовані у верхній та нижній чвертях матриці.

Нульові елементи розташовані в лівій та правій чвертях матриці.

Нульові елементи розташовані в лівій та верхній чвертях матриці

Нульові елементи розташовані на рядках, індекси яких кратні 3

Нульові елементи розташовані на стовпцях, індекси яких кратні 3

Нульові елементи розташовані у верхній тритині строк  та середній тритині стовбців.

Нульові елементи розташовані у верхній тритині строк, першій та третій тритині стовбців.

Нульові елементи розташовані у верхньму і нижньму трикутниках, за умов розподілення матриці діагоналями на 4 трикутники.

Нульові елементи розташовані у лівому та правому трикутниках, за умов розподілення матриці діагоналями на 4 трикутники.

 2.5. Приклад рішення задачі

Нульові елементи в матриці цілих чисел розташовані нижче головної діагоналі.

2.5.1. Вибір методу

У внутрішньому представленні масиву немає необхідності зберігати нульові (фонові) елементи,  такі, що:  M[x,y] = 0 при x<y.

Якщо виключити нульові елементи зі збереження і представити матрицю у вигляді одновимірного масиву, то формула лініаризації (переходу від двокоординатного звертання до одно координатного) запишеться як:

j = СУМА[і= від 1 до y-1](XM-(і-1)) + x-(y-1)  (7.1)

де x, y - номера стовпця і рядка відповідно;   XM - число елементів у рядку.

   1.5.1. Текст програми

Program LAB2;

uses DataStr;

Var

arru: array[1..100,1..100] of integer;                  {                       Повна таблиця        }

 arrp: array[1..5050] of integer;                          {                       Стиснута таблиця  }

XM : integer;                                                      {     Максимальні індекси в таблиці}

{==== Функція переобчислення індексів ====                                                                 }

Похожие материалы

Информация о работе