Python

Нахождение индексов максимального и минимального элемента массива

Нахождение индексов максимального и минимального элемента массива
Поиск индексов экстремумов на Питоне:
 arr = (int(s) for s in input().split())
imn = imx = 0
mn = mx = next(arr)
for i, e in enumerate(arr, 1):
if e < mn: imn, mn = i, e
elif e > mx: imx, mx = i, e
print(imn, imx)
Индексы считаются от нуля. Пример.
Ввод:
 1 4 6 7 9 2 
Вывод:
 0 4 
(0-й элемент - это 1, а 4-й элемент - это 9)
Кирилл Мещанинов
Кирилл Мещанинов
87 571
Лучший ответ
Извините, но Вам лютый бред написали. Вот правильно работающая программа на Пайтоне, находящая и выводящая все индексы минимального и максимального элементов, сколь часто бы они не повторялись в рандомно сгенерированном массиве элементов со значениями из диапазона [a;b]:
 from random import randint 
a, b, n = map(int, input('a b n: ').split())
A, m = [randint(a, b) for i in range(n)], 0
for a in A:
print('%5d' % a, end = ''); m += 1
if m == 10: m = 0; print()
if m: print()
mini, maxi, indmin, indmax = min(A), max(A), [], []
for i in range(n):
if A[i] == mini: indmin.append(i)
if A[i] == maxi: indmax.append(i)
print('min =', mini, ', №№:'); print(*indmin)
print('max =', maxi, ', №№:'); print(*indmax)

Видите сколько разных индексов может быть в массиве у наибольшего и наименьшего по значению элементов?
Для нахождения индексов максимального и минимального элемента массива можно использовать следующий алгоритм:

1. Инициализировать переменные для хранения индексов максимального и минимального элементов массива:

```
int maxIndex = 0;
int minIndex = 0;
```

2. Пройти по всем элементам массива и сравнить их со значениями максимального и минимального элементов:

```
for (int i = 1; i < array.length; i++) {
if (array[i] > array[maxIndex]) {
maxIndex = i;
}
if (array[i] < array[minIndex]) {
minIndex = i;
}
}
```

3. После завершения цикла переменные `maxIndex` и `minIndex` будут содержать индексы максимального и минимального элементов массива соответственно.

Полный код для нахождения индексов максимального и минимального элемента массива:

```
public static void main(String[] args) {
int[] array = {5, 2, 9, 1, 7, 3};
int maxIndex = 0;
int minIndex = 0;
for (int i = 1; i < array.length; i++) {
if (array[i] > array[maxIndex]) {
maxIndex = i;
}
if (array[i] < array[minIndex]) {
minIndex = i;
}
}
System.out.println("Индекс максимального элемента: " + maxIndex);
System.out.println("Индекс минимального элемента: " + minIndex);
}
```
Билал Sultaev
Билал Sultaev
4 068