Вопрос задан 29.10.2025 в 13:16. Предмет Информатика. Спрашивает Кашин Евгений.

Дан массив из N целых чисел. Написать программу, определяющую максимальный элемент массива и его номер.

Перейти к ответам

Ответы на вопрос

Отвечает Юданов Петр.

Вот как я бы решал эту задачу.

Идея

Проходим по массиву один раз, храним:

  • текущее максимальное значение max_val;

  • его позицию pos.

При встрече элемента больше max_val обновляем оба.
Если максимумов несколько — чаще всего берут первое вхождение.

Сложность по времени O(N), по памяти O(1).

Принято, что «номер» элемента — 1-based (счёт с единицы). Если нужен 0-based, просто не добавляйте +1.


Решение на Python (счёт позиций с 1)

python
# читаем N и массив N = int(input().strip()) arr = list(map(int, input().split()))

# на случай, если элементов меньше/больше N, можно обрезать: arr = arr[:N]

# если N == 0, однозначного ответа нет if N == 0: print("Пустой массив") else: max_val = arr[0] pos = 1 # 1-based for i in range(2, N + 1): # позиции 2..N if arr[i - 1] > max_val: max_val = arr[i - 1] pos = i print(max_val, pos)

Пример.
Ввод:

diff
5 -3 7 7 0 2

Вывод:

7 2

(значение 7, первое вхождение на позиции 2)


Решение на C++ (счёт позиций с 1)

cpp
#include using namespace std;

int main() { ios::sync_with_stdio(false); cin.tie(nullptr);

int N; if (!(cin >> N)) return 0;

if (N == 0) { cout << "Пустой массив\n"; return 0; }

long long x; cin >> x; long long max_val = x; int pos = 1; // 1-based

for (int i = 2; i <= N; ++i) { cin >> x; if (x > max_val) { max_val = x; pos = i; } }

cout << max_val << " " << pos << "\n"; return 0; }


На что обратить внимание

  • Пустой массив: нет максимума — решите заранее, что выводить (я печатаю сообщение).

  • Все числа отрицательные: алгоритм работает, важно инициализировать max_val первым элементом, а не нулём.

  • Повторы максимума: обычно берут позицию первого вхождения; если нужна последняя — меняйте условие на >=.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Информатика 14.10.2025 04:57 26 Бердина Раиса
Информатика 13.10.2025 21:53 20 Кандрина Лера
Информатика 13.10.2025 20:34 14 Калинин Максим
Информатика 13.10.2025 20:27 6 Смирнов Егор
Информатика 13.10.2025 19:26 4 Макаров Максим
Информатика 13.10.2025 19:20 16 Гайнанов Эльнар
Информатика 13.10.2025 18:25 6 Bekenov Daulet
Информатика 13.10.2025 18:16 22 Александровна Вероника
Задать вопрос