Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУКР ОПр.pdf
Скачиваний:
11
Добавлен:
11.02.2016
Размер:
972 Кб
Скачать
☆

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