Функция в программе, процедуры, зачетная - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Ребят, вот сама программа В ней процедуры Нужно написать функцию Возможно ли поменять изменить процедуры Ml и Md На функцию, или же, если не брать из процедур, то функцию иную написать? Спасите безумца, ибо зачетная работа и долго над ней уже безрезультатно сижу

Решение задачи: «Функция в программе, процедуры, зачетная»

textual
Листинг программы
  1. program test;
  2.  
  3. type
  4.   matr2 = array[1..6, 1..6] of integer;
  5.  
  6.   procedure CreateRandomMatrix(var A: Matr2; n, k: integer);
  7.   var
  8.     i, j: integer;
  9.   begin
  10.     for i := 1 to n do
  11.       for j := 1 to k do
  12.         A[i, j] := -1000 + random(2000);
  13.   end;
  14.  
  15.   function MLD(const A: Matr2; n, k: integer; KeepPositive: boolean): Matr2;
  16.   var
  17.     i, j: integer;
  18.     R: Matr2;
  19.   begin
  20.     for i := 1 to n do
  21.       for j := 1 to k do
  22.         if (KeepPositive) xor (A[i, j] < 0) then
  23.           R[i, j] := A[i, j]
  24.         else
  25.           R[i, j] := 0;
  26.     MLD := R;
  27.   end;
  28.  
  29.   procedure ShowMatrix(const A: Matr2; n, k: integer);
  30.   var
  31.     i, j: integer;
  32.   begin
  33.     for i := 1 to n do
  34.     begin
  35.       for j := 1 to k do
  36.         Write(A[i, j]: 6);
  37.       writeln;
  38.     end;
  39.   end;
  40.  
  41. var
  42.   A, B: Matr2;
  43.   n, k: integer;
  44. begin
  45.   randomize;
  46.   n := 6;
  47.   k := 5;
  48.  
  49.   CreateRandomMatrix(A, n, k);
  50.   writeln('A');
  51.   ShowMatrix(A, n, k);
  52.  
  53.   B := MLD(A, n, k, True);
  54.   writeln('B positive');
  55.   ShowMatrix(B, n, k);
  56.  
  57.   B := MLD(A, n, k, False);
  58.   writeln('B negative');
  59.   ShowMatrix(B, n, k);
  60. end.

Объяснение кода листинга программы

  1. Объявлен тип массива array[1..6, 1..6] of integer для представления квадратной матрицы размером 6x6.
  2. Создана процедура CreateRandomMatrix, которая инициализирует элементы матрицы A случайными числами в диапазоне от -1000 до 1000.
  3. Создана функция MLD, которая принимает матрицу A и три целых числа n, k, KeepPositive. Если KeepPositive равно true, то в новой матрице R сохраняются только положительные числа из матрицы A. Если KeepPositive равно false, то в новой матрице R сохраняются только нули.
  4. Создана процедура ShowMatrix, которая выводит элементы матрицы на экран.
  5. В основной части программы объявлены и инициализированы переменные A, B, n, k.
  6. Вызвана процедура CreateRandomMatrix, чтобы заполнить матрицу A случайными числами.
  7. Выведена матрица A на экран с помощью ShowMatrix.
  8. Вычислена и выведена на экран матрица B, в которой сохранены только положительные числа из матрицы A с помощью функции MLD и ShowMatrix.
  9. Вычислена и выведена на экран матрица B, в которой сохранены только отрицательные числа из матрицы A с помощью функции MLD и ShowMatrix.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы