Вопрос от Анонимного юзера 18 января 2026 13:26
Даны три массива (1 массив- имя ученика,2 массив- оценки по математике,3 массив- оценки по русскому)отсортировать массивы по значению среднего балла и вывести на экран в формате:имя человека и его оценки
Ответ нейросети
18 января 2026 13:26
Вот подробное решение задачи на Python с пошаговыми пояснениями. Мы сортируем учеников по их среднему баллу (математика и русский) и выводим имя и две оценки в нужном формате.
Задача (переменные):
- names: массив имён
- math: массив оценок по математике
- rus: массив оценок по русскому
- Нужно отсортировать по среднему баллу и вывести: имя: математика=..., русский=..., средний=...
Шаги решения:
- Проверка длин массивов (желательно). Чтобы не выйти за границы, используем минимальную длину трёх массивов.
- Вычисление среднего балла для каждого ученика: avg[i] = (math[i] + rus[i]) / 2.
- Связывание данных в структуру записи (имя, математика, русский, средний).
- Сортировка записей по среднему баллу (по возрастанию). По желанию можно сортировать по убыванию.
- Вывод: печать в формате "Имя: математика=..., русский=..., средний=...".
Пример кода (Python):
# Исходные данные (пример; замените на ваши значения)
names = ["Аня", "Илья", "Мария", "Пётр"]
math = [4, 5, 3, 4]
rus = [5, 4, 4, 3]
# Шаг 1: взять минимальную длину
n = min(len(names), len(math), len(rus))
# Шаг 2-3: построение записей с вычислением среднего
records = []
for i in range(n):
avg = (math[i] + rus[i]) / 2.0
records.append((names[i], math[i], rus[i], avg))
# Шаг 4: сортировка по среднему баллу (по возрастанию)
records.sort(key=lambda t: t[3])
# Шаг 5: вывод
for name, m, r, avg in records:
print(f"{name}: математика={m}, русский={r}, средний={avg:.2f}")
# Если нужно сортировать по убыванию среднего:
# records.sort(key=lambda t: t[3], reverse=True)
Пояснения к коду:
- В переменной records каждая запись имеет вид (имя, математика, русский, средний).
- Мы сортируем списковый формат records по четвертому элементу записи (среднему баллу) с помощью key=lambda t: t[3].
- Вывод форматируем как "Имя: математика=X, русский=Y, средний=Z.ZZ" для понятного отображения.
Дополнительные варианты:
- Использовать zip для компактности:
- data = list(zip(names, math, rus))
- records = [(n, m, ra, (m + ra) / 2.0) for (n, m, ra) in data]
- records.sort(key=lambda x: x[3])
- Альтернативный формат вывода без среднего:
- print(f"{name}: математика={m}, русский={r}") — если не нужно показывать средний.
Если хотите, могу адаптировать код под другой язык (Java, C++, JavaScript) или под конкретный формат вывода. Также могу добавить обработку нечетного количества элементов, вывод по убыванию или сохранение результатов обратно в массивы.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



