Поиск по разделу «Программирование»

Подсчет количества вхождений минимума в массиве

Pas.0013. Напишите программу, которая определяет в данном це­ло­чис­лен­ном массиве количество вхождений минимального значения. Дополнительное задание: программа должна вывести список индексов массива, в которых находятся элементы с минимальным значением.
Решение.
program MinCounter;

const
    N = 5;
  
var
    a : array[1..n] of integer = (5, 3, 3, 25, 3);
    i, min, counterOfMin : integer;
    iString, indexListString : string;
  
begin

    counterOfMin := 1;
    min := a[1];
    indexListString := '1';
  
    for i:=2 to N do
    begin
        if a[i] < min then
        begin
            counterOfMin := 1;
            min := a[i];
            str(i, indexListString);
        end
        else if a[i] = min then
        begin
            counterOfMin := counterOfMin + 1;
            str(i, iString);
            indexListString := indexListString + ', ' + iString;
        end
    end;
    
    writeln('Массив: ', a, '.');
      
    write('Минимальное значение «', min, '» встречается в элемент');
  
    if counterOfMin = 1 then
        write('е с индексом ')
    else
        write('ах с индексами: ');
     
    write(indexListString , '.');
    
end.

Консоль.
Массив: [5,3,3,25,3].
Минимальное значение «3» встречается в элементах с индексами: 2, 3, 5.