- •Введение
- •Состав курсовой работы
- •Задание на курсовую работу
- •Объем курсовой работы
- •Разработка алгоритмов
- •Разработка расчетного модуля
- •Разработка приложения
- •Составление описания приложения
- •Разработка расчетного модуля.
- •Создание описания данных.
- •Создание функций сохранения и чтения матрицы.
- •Разработка расчетных процедур и функций.
- •Порядок выполнения курсовой работы.
- •Отсортировать по возрастанию все строки матрицы.
- •Отладка процедур и функций расчетного модуля.
- •Разработка модуля главного окна приложения.
- •Разработка модуля окна редактирования матрицы.
- •Разработка окна информации о разработчике.
- •Разработка описания и инструкции пользователя.
- •Оформление пояснительной записки
- •Титульный лист, содержание
- •Описание приложения
- •Алгоритмы, исходные данные и результаты расчета
- •Текст модулей проекта
- •Список использованной литературы
- •Приложение. Таблица вариантов
- •Литература.
10
Как видно из реализации функции в случае отсутствия в матрице положительных элементов ее результат будет равен нулю.
Нахождение минимальных значений по каждой строке матрицы.
Результатом этой задачи является одномерный массив, описываем его тип, как приведено в начале раздела. Так как результатом решения является структура, то задачу следует оформлять в виде процедуры. Данная задача не имеет сбойных ситуаций, поэтому класс исключения описывать нет необходимости.
Формат заголовка процедуры и ее реализация приведены в следующем листинге:
procedure GetVectMin(M: TMatr; var V: TVect); var
I, J, Nmin : Integer; begin
V.N := M.NI; SetLength(V.Data,V.N);
for I := 0 to M.NI-1 do begin
Nmin := 0;
for J := 1 to M.NJ-1 do
if M.Data[I,Nmin]>M.Data[I,J]then Nmin := J;
V.Data[I] := M.Data[I,Nmin]; end;
end;
Следует помнить, что в случае, когда результатом является структура с динамическим массивом, следует установить его размер до записи в него данных.
Отсортировать по возрастанию все строки матрицы.
Результатом решения этой задачи является матрица такого же размера. При решении таких задач рекомендуется создавать новую матрицу а не работать с исходной.
Формат заголовка процедуры и ее реализация приведены в следующем листинге:
procedure SortByRow(Dest: TMatr; var Tard: TMatr); var
I, J, K : Integer; Nmin : Integer;
Vt : Double; begin
Tard.NI := |
Dest.NI; |
|||
Tard.NJ |
:= |
Dest.NJ; |
||
Tard.Data := |
copy(Dest.Data); |
|||
for I |
:= 0 |
to Tard.NI-1 do begin |
||
for |
J |
:= |
0 |
to Tard.NJ-2 do begin |
