Задачи / Обработка массивов / Минимальный элемент массива и его номер
Минимальный элемент массива и его номер: блок-схема и алгоритм
Удобнее хранить не само значение минимума, а его номер k: значение всегда можно получить как a[k]. Сначала k = 1, затем каждый элемент сравниваем с a[k].
Алгоритм по шагам
- Ввести n и массив a.
- Присвоить k = 1.
- Для i от 2 до n: если a[i] < a[k], то k = i.
- Вывести a[k] и k.
Пример работы
| Вход | a = [6, 3, 8, 1, 5] |
| Шаг 1 | k = 1 (a[1] = 6) |
| Шаг 2 | i = 2: 3 < 6 → k = 2 |
| Шаг 3 | i = 3: 8 < 3? нет |
| Шаг 4 | i = 4: 1 < 3 → k = 4 |
| Шаг 5 | i = 5: 5 < 1? нет |
| Результат | 1 4 |
Решение на Python
n = int(input())
a = list(map(int, input().split()))
k = 0
for i in range(1, n):
if a[i] < a[k]:
k = i
print(a[k], k + 1) # номер с 1, как в задачах
Решение на Pascal
var a: array[1..100] of integer;
n, i, k: integer;
begin
readln(n);
for i := 1 to n do read(a[i]);
k := 1;
for i := 2 to n do
if a[i] < a[k] then
k := i;
writeln(a[k], ' ', k);
end.
Код блок-схемы
Схема выше нарисована по этому псевдокоду. Скопируйте его в редактор блок-схем или нажмите «Открыть блок-схему в редакторе».
блок-схема: Минимум массива и его номер
начало
ввод n, массив a[1..n]
k = 1
для i от 2 до n
если a[i] < a[k]
k = i
вывод a[k], k
конец
Сложность
O(n), память O(1).
Частые ошибки
- Хранить только значение минимума, а потом искать его номер вторым проходом — лишняя работа.
- В Python выводить индекс без + 1, когда в задаче нумерация с единицы.
- При нескольких одинаковых минимумах строгое < даёт первый, а ≤ — последний из них.
Похожие задачи
- Сумма элементов массиваСумма считается накоплением: заводим переменную s = 0 и по очереди прибавляем к ней каждый элемент.
- Поиск максимального элемента массиваСчитаем максимумом первый элемент, а затем сравниваем с ним все остальные: если встретился элемент больше — он становится новым максимумом..
- Количество положительных элементов массиваПодсчёт по условию — это счётчик: k = 0, и при каждом подходящем элементе k увеличивается на единицу.
- Переворот (реверс) массиваМеняем местами первый и последний элементы, затем второй и предпоследний и так далее до середины.
Обозначения фигур и синтаксис кода блок-схем — в справочнике: блок-схема по ГОСТ 19.701. Все задачи.