Мінімальний елемент масиву

Знайти мінімальний елемент масиву дуже просто. Якщо масив відсортований, то достатньо повернути перше чи останнє ення, в залежності від напрямку сортування масиву(за зростанням чи спаданням).

У випадку з невпорядкованим набором даних, задача пошуку мінімального значення зводиться до повного обходу всіх елементів та вибору з них мінімума.

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

{$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.

Дивіться також: