Блог для маленьких школьников и их родителей
ШколаЛа

Помогите пожалуйста, дам 100 баллов! (python) 1. Дан одномерный массив, состоящий из N целочисленных…

Автор:
Предмет: Информатика
Уровень: студенческий

Помогите пожалуйста, дам 100 баллов! (python)

1. Дан одномерный массив, состоящий из N целочисленных элементов.

Ввести массив с клавиатуры. Найти максимальный элемент.

Вывести массив на экран в обратном порядке.

2. В массиве действительных чисел все нулевые элементы заменить на среднее

арифметическое всех элементов массива.

Ответов к вопросу: 1
  • alihanraimbekov2009
    11.06.2024 | 14:57

    Ответ:
    Задание 1
    Способ 1
    n = int(input())
    a = list(map(int, input().split()))
    m = max(a)
    a.reverse()
    print(m)
    print(*a)
    Объяснение:
    ▪︎ Вводим число n — кол-во эл-тов массива (оно конкретно в этом решении не нужно, но скорее всего есть во входных данных к задаче), потом вводим в строку сам массив а.
    ▪︎ Функция max позволяет найти в списке максимальный эл-т. Записываем результат работы этой ф-ии в переменную m.
    ▪︎ Метод reverse() разворачивает массив.
    ▪︎ Выводим сначала максимальный эл-т, потом массив. Чтобы массив выводился аккуратно (условно: 1 2 3 4, а не [1, 2, 3, 4]), ставим символ * перед его именем.

    Задание 1
    Способ 2
    n = int(input())
    a = list(map(int, input().split()))
    m = 0
    for i in range(n):
    if a[i] > m:
    m = a[i]
    print(m)
    for i in range(n-1, -1, -1):
    print(a[i], end=» «)
    Объяснение:
    ▪︎ Так же считываем кол-во элементов и сам массив.
    ▪︎ Заводим переменную m.
    ▪︎ Идем по массиву и каждый раз обновляем m, если встретившийся эл-т больше уже записанного там значения. Под конец в m будет записан максимальный эл-т.
    ▪︎ Выводим m.
    ▪︎ Потом идем по массиву с конца и выводим эл-ты (всего n эл-тов, счет с 0, последняч граница не включается в диапазон => идем с n-1 (номер последнего эл-та) до -1 (номер первого 0, последнюю границу не включаем, т.е. до -1) с шагом -1 (назад)).
    ▪︎ Кстати, в этом способе я не меняю массив а, а просто вывожу его в обратном порядке, тогда как в 1ом способе массив меняется.

    Задача 2
    Способ 1
    a = list(map(float, input().split()))
    av = sum(a) / len(a)
    for i in range(len(a)):
    if a[i] == 0:
    a[i] = av
    print(a[i], end=» «)
    Объяснение:
    ▪︎ Вводим в строку массив
    ▪︎ Найдем среднее арифметическое: это сумма всех эл-тов поделить на кол-во эл-тов. Сумму находим с помощью функции sum, а длину массива через len. Записываем результат в переменную av.
    ▪︎ Идем по массиву и проверяем: если эл-т равен 0, то заменяем его на av. Потом сразу выводим эл-т. end=» » стоит для того, чтобы эл-ты выводились в строку.

    Задача 2
    Способ 2
    a = list(map(float, input().split()))
    s = 0
    for i in range(len(a)):
    s += a[i]
    av = s / len(a)
    for i in range(len(a)):
    if a[i] == 0:
    a[i] = av
    print(a[i], end=» «)
    Объяснение:
    Все то же самое, только теперь находим сумму без ф-ции. Для нахождения суммы идем по массиву и прибавляем к переменной s все эл-ты. Потом все абсолютно то же самое.

    Удачи, не забудьте про табы.

Ответить на вопрос:
:p :-p 8) 8-) :lol: =( :( :-( :8 ;) ;-) :(( :o:
Нажимая на кнопку я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.