Функция в программе, процедуры, зачетная - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д