Курсовая работа: Работа с двумерными числовыми массивами


Результат выполнения задачи №2:

Результат выполнения задачи №5:


Результат выполнения задачи №4:


Сохранение полученной матрицы в файл:


Завершение работы программы:

Содержание сохранённого файла:

100000 10000 20000 40000 -4000

50 100 -20 1000 2000

-100 -50 -20 0 20

-1000 -200 200 2 12

4000 -100000 -40000 -10000 80000


Выводы

Двумерный динамический массив – очень удобная конструкция для представления матрицы, размеры которой во время написания программы не известны. Но при его использовании нужно быть осторожным и учитывать некоторые особенности:

· При вызове SetLength с одним параметром размера будет выделена память только под первую размерность массива (например, будет увеличено число строк в матрице), остальные размерности затронуты не будут (в каждой добавленной строке будет ноль элементов).

· Каждый подмассив многомерного массива может иметь свою размерность (например, каждая строка матрицы в общем то может иметь длину, отличную от других)

· Необходимо всегда знать границы каждой размерности, чтобы не выйти за пределы массива в чужую память. Для этого полезны функции low и high .

· Необходимо всегда освобождать динамически выделенную память.

· При присваивании динамических массивов копирования данных не происходит, присваиваются лишь указатели, таким образом, после присваивания два массива будут указывать на одну и ту же область памяти. Чтобы получить копию массива, можно использовать функцию Copy.

· Copy копирует не весь многомерный массив, но только его первую размерность.


Приложения

Приложение 1. Тестовые примеры

Тест 1: Квадратная матрица 5 x 5.

Исходная матрица:

-100 -50 -20 0 20

50 100 200 1000 2000

4000 10000 20000 40000 80000

К-во Просмотров: 526
Бесплатно скачать Курсовая работа: Работа с двумерными числовыми массивами