Найти в массиве кроме минимальных значений еще и максимальные - Turbo Pascal

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

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

Помогите, нужно найти кроме минимальных значений еще и максимальные (его адрес в массиве, и потом среди максимальных найти наибольшее значение).

Решение задачи: «Найти в массиве кроме минимальных значений еще и максимальные»

textual
Листинг программы
const nm=100; W=3;
type TMatrix = array [1..nm,1..nm] of Integer;
procedure MinMax(const a: TMatrix; m, n: Integer);
var mn, mx: array [1..nm] of Integer; i, j: Integer;
begin
  for j:=1 to n do begin mn[j]:=1; mx[j]:=1; end;
  for j:=1 to n do for i:=1 to m do begin
    if a[mn[j],j]>a[i,j] then mn[j]:=i;
    if a[mx[j],j]<a[i,j] then mx[j]:=i;
  end;
  WriteLn('Min/pos:');
  for j:=1 to n do Write(' ',a[mn[j],j]:W); WriteLn;
  for j:=1 to n do Write(' ',mn[j]:W); WriteLn;
  WriteLn('Max/pos:');
  for j:=1 to n do Write(' ',a[mx[j],j]:W); WriteLn;
  for j:=1 to n do Write(' ',mx[j]:W); WriteLn;
end;
var
  a: TMatrix;
  m, n, i, j: Integer;
begin
  Randomize;
  repeat
    Write('m, n [2..',nm,']: '); ReadLn(m,n);
  until (m in [2..nm]) and (n in [2..nm]);
  for i:=1 to m do for j:=1 to n do a[i,j]:=Random(100);
  for i:=1 to m do begin for j:=1 to n do Write(' ',a[i,j]:W); WriteLn; end;
  MinMax(a,m,n);
end.

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

  1. В начале кода объявляются переменные nm и W, которые представляют собой количество строк и столбцов в массиве соответственно.
  2. Затем определяется тип данных TMatrix, который представляет собой массив целых чисел.
  3. Далее объявляется процедура MinMax, которая принимает в качестве параметров массив a, его размерность m и n.
  4. Внутри процедуры инициализируются два массива mn и mx, которые будут использоваться для поиска минимального и максимального значения в массиве a.
  5. Затем происходит цикл, в котором происходит сравнение значений элементов массива a и перестановка их в случае необходимости. Это позволяет найти минимальное и максимальное значение в каждой строке.
  6. После завершения цикла выводятся на экран минимальное и максимальное значение в каждой строке, а также сами значения mn и mx.
  7. В конце кода считываются значения m и n с помощью функции Randomize, чтобы обеспечить разнообразие входных данных.
  8. Затем происходит итерация по массиву a, в которой генерируются случайные значения для каждого элемента.
  9. После этого вызывается процедура MinMax с массивом a, размером m и n.
  10. Код завершается после вывода на экран минимального и максимального значения в каждой строке.

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


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

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

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