Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 18 января 2026 13:26

Даны три массива (1 массив- имя ученика,2 массив- оценки по математике,3 массив- оценки по русскому)отсортировать массивы по значению среднего балла и вывести на экран в формате:имя человека и его оценки

Ответ нейросети

18 января 2026 13:26

Вот подробное решение задачи на Python с пошаговыми пояснениями. Мы сортируем учеников по их среднему баллу (математика и русский) и выводим имя и две оценки в нужном формате.

Задача (переменные):

  • names: массив имён
  • math: массив оценок по математике
  • rus: массив оценок по русскому
  • Нужно отсортировать по среднему баллу и вывести: имя: математика=..., русский=..., средний=...

Шаги решения:

  1. Проверка длин массивов (желательно). Чтобы не выйти за границы, используем минимальную длину трёх массивов.
  2. Вычисление среднего балла для каждого ученика: avg[i] = (math[i] + rus[i]) / 2.
  3. Связывание данных в структуру записи (имя, математика, русский, средний).
  4. Сортировка записей по среднему баллу (по возрастанию). По желанию можно сортировать по убыванию.
  5. Вывод: печать в формате "Имя: математика=..., русский=..., средний=...".

Пример кода (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) или под конкретный формат вывода. Также могу добавить обработку нечетного количества элементов, вывод по убыванию или сохранение результатов обратно в массивы.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

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

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

даны три массива (1 массив- имя ученика,2 массив- оценки по математике,3 массив- оценки по русскому)отсортировать массивы по значению среднего балла и вывести на экран в формате:имя человека и его оценки
Вот подробное решение задачи на Python с пошаговыми пояснениями. Мы сортируем учеников по их среднему баллу (математика и русский) и выводим имя и две оценки в нужном формате. Задача (переменные): - names: массив имён - math: массив оценок по математике - rus: массив оценок по русскому - Нужно отсортировать по среднему баллу и вывести: имя: математика=..., русский=..., средний=... Шаги решения: 1) Проверка длин массивов (желательно). Чтобы не выйти за границы, используем минимальную длину трёх массивов. 2) Вычисление среднего балла для каждого ученика: avg[i] = (math[i] + rus[i]) / 2. 3) Связывание данных в структуру записи (имя, математика, русский, средний). 4) Сортировка записей по среднему баллу (по возрастанию). По желанию можно сортировать по убыванию. 5) Вывод: печать в формате "Имя: математика=..., русский=..., средний=...". Пример кода (Python): ```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) или под конкретный формат вывода. Также могу добавить обработку нечетного количества элементов, вывод по убыванию или сохранение результатов обратно в массивы.