Функция в программе, процедуры, зачетная - Free Pascal
Формулировка задачи:
Ребят, вот сама программа
В ней процедуры
Нужно написать функцию
Возможно ли поменять изменить процедуры Ml и Md
На функцию, или же, если не брать из процедур, то функцию иную написать?
Спасите безумца, ибо зачетная работа и долго над ней уже безрезультатно сижу
Решение задачи: «Функция в программе, процедуры, зачетная»
textual
Листинг программы
program test; type matr2 = array[1..6, 1..6] of integer; procedure CreateRandomMatrix(var A: Matr2; n, k: integer); var i, j: integer; begin for i := 1 to n do for j := 1 to k do A[i, j] := -1000 + random(2000); end; function MLD(const A: Matr2; n, k: integer; KeepPositive: boolean): Matr2; var i, j: integer; R: Matr2; begin for i := 1 to n do for j := 1 to k do if (KeepPositive) xor (A[i, j] < 0) then R[i, j] := A[i, j] else R[i, j] := 0; MLD := R; end; procedure ShowMatrix(const A: Matr2; n, k: integer); var i, j: integer; begin for i := 1 to n do begin for j := 1 to k do Write(A[i, j]: 6); writeln; end; end; var A, B: Matr2; n, k: integer; begin randomize; n := 6; k := 5; CreateRandomMatrix(A, n, k); writeln('A'); ShowMatrix(A, n, k); B := MLD(A, n, k, True); writeln('B positive'); ShowMatrix(B, n, k); B := MLD(A, n, k, False); writeln('B negative'); ShowMatrix(B, n, k); end.
Объяснение кода листинга программы
- Объявлен тип массива
array[1..6, 1..6] of integer
для представления квадратной матрицы размером 6x6. - Создана процедура
CreateRandomMatrix
, которая инициализирует элементы матрицыA
случайными числами в диапазоне от -1000 до 1000. - Создана функция
MLD
, которая принимает матрицуA
и три целых числаn
,k
,KeepPositive
. ЕслиKeepPositive
равноtrue
, то в новой матрицеR
сохраняются только положительные числа из матрицыA
. ЕслиKeepPositive
равноfalse
, то в новой матрицеR
сохраняются только нули. - Создана процедура
ShowMatrix
, которая выводит элементы матрицы на экран. - В основной части программы объявлены и инициализированы переменные
A
,B
,n
,k
. - Вызвана процедура
CreateRandomMatrix
, чтобы заполнить матрицуA
случайными числами. - Выведена матрица
A
на экран с помощьюShowMatrix
. - Вычислена и выведена на экран матрица
B
, в которой сохранены только положительные числа из матрицыA
с помощью функцииMLD
иShowMatrix
. - Вычислена и выведена на экран матрица
B
, в которой сохранены только отрицательные числа из матрицыA
с помощью функцииMLD
иShowMatrix
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д