Даны матрицы [5,6] и В[7,8] - Pascal

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

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

Даны матрицы [5,6] и В[7,8]. Если у какой-то из этих матриц больше половины строк начинается с отрицательного элемента, то все отрицательные элементы данной матрицы заменить на наименьший элемент. Никак не могу сообразить! Помогите, пожалуйста.

Решение задачи: «Даны матрицы [5,6] и В[7,8]»

textual
Листинг программы
function Process(var aa; m, n: Integer): Boolean;
var
  a: array [0..$FFFE div SizeOf(Integer)-1] of Integer absolute aa;
  i, k, mn: Integer;
begin
  Process:=False;
  k:=m div 2;
  for i:=0 to m-1 do if a[i*n]<0 then Dec(k);
  if k<0 then begin
    mn:=a[1,1];
    for i:=0 to m*n-1 do if mn>a[i] then mn:=a[i];
    for i:=0 to m*n-1 do if a[i]<0 then a[i]:=mn;
    Process:=True;
  end;
end;

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

  1. Объявлена функция Process с тремя параметрами: aa, m, n.
  2. В функции объявлена переменная a типа массив целых чисел с размером $FFFE - (размер одного целого числа - 1).
  3. Также в функции объявлены три переменные: i, k, mn типа Integer.
  4. Изначально значение переменной Process установлено в False.
  5. Переменная k инициализируется значением m/2.
  6. В цикле от 0 до m-1 происходит проверка: если элемент массива a с индексом i*n имеет отрицательное значение, то значение k уменьшается на единицу.
  7. Если значение k становится отрицательным, то начинается выполнение блока кода.
  8. Значение переменной mn устанавливается равным a[1,1].
  9. В цикле от 0 до m*n-1 происходит сравнение каждого элемента массива a с mn, если элемент больше mn, то mn обновляется значением этого элемента.
  10. В цикле от 0 до m*n-1 происходит проверка каждого элемента массива a на отрицательное значение, если такое значение найдено, то оно заменяется на mn.
  11. Значение переменной Process устанавливается в True.
  12. Код возвращает значение переменной Process.

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


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

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

8   голосов , оценка 4 из 5
Похожие ответы