Вывести три неповторяющихся элемента массива и их номера - PascalABC.NET
Формулировка задачи:
необходимо, чтобы программа выводила три НЕПОВТОРЯЮЩИХСЯ элемента массива и их номера
Что нужно поправить?
Решение задачи: «Вывести три неповторяющихся элемента массива и их номера»
textual
Листинг программы
if a[i]< min1 then begin min2:=min1;min1:=a[i];k2:=k1; k1:=i; end else if (a[i]< min2) and (a[i] > min1) then begin min3:=min2;min2:=a[i];k3:=k2;k2:=i; end else if (a[i]< min3) and (a[i] > min2) then begin min3:=a[i];k3:=i;end;
Объяснение кода листинга программы
В данном коде выполняется поиск трех минимальных элементов массива a.
- Переменная
min1инициализируется значением первого элемента массиваa. - Переменная
min2инициализируется значением второго элемента массиваa. - Переменная
min3инициализируется значением третьего элемента массиваa. - Переменные
k1,k2иk3используются для сохранения номеров найденных минимальных элементов. - В цикле происходит сравнение каждого элемента массива
aс значениями переменныхmin1,min2иmin3. - Если текущий элемент меньше значения переменной
min1, то значение переменнойmin2присваивается значение переменнойmin1, а значение переменнойmin1присваивается значение текущего элемента. Также, значение переменнойk1присваивается значениеi. - Если текущий элемент меньше значения переменной
min2и больше значения переменнойmin1, то значение переменнойmin3присваивается значение переменнойmin2, а значение переменнойmin2присваивается значение текущего элемента. Также, значение переменнойk2присваивается значениеi. - Если текущий элемент меньше значения переменной
min3и больше значения переменнойmin2, то значение переменнойmin3присваивается значение текущего элемента. Также, значение переменнойk3присваивается значениеi. - После завершения цикла, в переменной
min1будет храниться наименьший элемент массиваa, в переменнойmin2- второй наименьший элемент, и в переменнойmin3- третий наименьший элемент. В переменнойk1будет храниться номер первого минимального элемента, в переменнойk2- номер второго минимального элемента, и в переменнойk3- номер третьего минимального элемента.