Минимальный элемент массива

Найти минимальный элемент массива очень просто. Если это упорядоченный массив, то достаточно вернуть первое или последнее значение, в зависимости от того, как отсортированы данные, от наименьшего к наибольшему или от наибольших к наименьшим. Это очень простая задача.

В случае с неотсортированным массивом, задача поиска минимального значения элемента сводиться к полному обходу всех элементов и выбора из них - минимума.

Код программы для поиска минимального, по значению, элемента неупорядоченного массива

{$CODEPAGE UTF8}
program Minimal;
const
  arrayLength = 10;
var
  inputArray : array [1..arrayLength] of integer;
  minimum, i: integer;
begin
  randomize;
  writeln ('Исходный массив: ');
  {заполнение случайными числами}
  for i := 1 to arrayLength do
  begin
    inputArray[i] := random(100);
    write (inputArray[i]:4);
  end;
  writeln;

  {поиск минимального значения}
  {считаем что первый элемент и есть минимальный}
  minimum := inputArray[1];
  for i := 2 to arrayLength do
    if minimum > inputArray[i] then         {если минимум больше текущего}
      minimum := inputArray[i];             {присваиваем ему текущее значение}

  write('Минимальный элемент массива ', minimum);
  readln;
end.

Найти минимальное значение, можно также, с использованием рекурсивного алгоритма.

Рекурсивный алгоритм поиска минимального элемента в одномерном массиве

{$CODEPAGE UTF8}
program MinimalElement;
const
  arrayLen = 10;
var
  inputArr : array [1..arrayLen] of integer;
  min, i: integer;

function MinElement(minimal, index: integer):integer;
begin
  if index > arrayLen then
    MinElement := minimal
  else
    begin
      if inputArr[index] < minimal then
        minimal := inputArr[index];
      MinElement := MinElement(minimal, index + 1); {рекурсивный вызов}
    end;
end;

begin
  randomize;
  writeln ('Исходные данные: ');
  for i := 1 to arrayLen do
  begin
    inputArr[i] := random(100);
    write (inputArr[i]:4);
  end;
  writeln;

  {рекуррентный поиск минимального значения}
  min := inputArr[1];
  min := MinElement(min, 2);

  write('Минимальный элемент ', min);
  readln;
end.

Смотрите также: