27.03.2022

Язык Паскаль. Как найти номер минимального элемента массива

Минимум в некоторой последовательности чисел это наименьшее значение. Например, среди чисел последовательности 431, 85, 200, 125 минимумом является число 85. Если числа последовательности сохранить в массиве, то можно найти номер минимального элемента массива

Сохраним числа в массиве: a[1]=431, a[2]=85, a[3]=200, a[4]=125.

Минимум хранится в ячейке с номером 2, значит номер минимального элемента это число 2. 

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

Будем считать, что в массиве хранятся целые числа, диапазон значений не известен.

Исходные данные: a – массив целых чисел

Выходные данные: min – минимальный элемент, kmin – номер минимального элемента массива

За  начальное значение минимума min возьмем значение первого элемента, тогда за номер минимального элемента kmin возьмем номер 1.

Далее будем сравнивать каждый элемент массива со значением min, если a[k]<min, то перезапишем значение min на значение a[k], а значение kmin на значение k.

Программа решения на языке Паскаль

var a:array[1..10] of integer;

    k,min,kmin:integer;

begin

  for k:=1 to 10 do

  begin

    read(a[k]);

  end;

  min:=a[1];

  kmin:=1;

  for k:=2 to 10 do

  begin

    if a[k]<min then

    begin

      min:=a[k];

      kmin:=k;

    end;

  end;

  writeln('Минимальный элемент ',min);

  writeln('Номер минимального элемента массива ',kmin);

end.

Результат выполнения программы

Как найти номер минимального элемента массива

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

Еще одна программа

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

За номер минимального элемента kmin возьмем 1. Далее будем сравнивать a[k]<a[kmin], в случае истины, будем перезаписывать kmin на k.

Программа решения на языке Паскаль

var a:array[1..10] of integer;

    k,min,kmin:integer;

begin

  for k:=1 to 10 do

  begin

    read(a[k]);

  end;

  kmin:=1;

  for k:=2 to 10 do

  begin

    if a[k]<a[kmin] then

    begin

      kmin:=k;

    end;

  end;

  writeln('Минимальный элемент ',a[kmin]);

  writeln('Номер минимального элемента массива ',kmin);

end.

Еще одна программа с применением методов последовательностей PascalABC.NET

a.min – определяет минимальное значение в массиве

a.indexof(a.min) – определяет номер элемента, равного минимальному

Массив описан как динамический (не указываются номера элементов, нумерация начинается с 0). Оператор setlength(a,10) выделяет память под массив (десять ячеек).

var a:array of integer;

    k:integer;

begin

  setlength(a,10);

  for k:=0 to 10-1 do

  begin

    read(a[k]);

  end;

  writeln('Минимальный элемент ',a.min);

  writeln('Номер минимального элемента массива ',a.indexof(a.min));

end.

Как еще можно найти номер минимального элемента массива? 

Предложите свои способы. 

Читайте также:

Комментариев нет:

Отправить комментарий