Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задачка на питоне кто разбирается помогите пожалуйста. информатика

п Ученик (8), на голосовании 4 месяца назад
Задан одномерный массив A[1..20]. Просуммировать все отрицательные элементы, стоящие на нечетных местах. на питоне пожалуйста
Голосование за лучший ответ
Татьяна Просветленный (36384) 5 месяцев назад
 def sum_negative_odd_indices(arr): 
# Проверяем, что массив имеет длину 20
if len(arr) != 20:
raise ValueError("Массив должен содержать ровно 20 элементов.")

# Инициализируем сумму
total = 0

# Проходим по массиву, начиная с первого элемента (индекс 0)
for i in range(1, len(arr), 2):
if arr[i] < 0:
total += arr[i]

return total

# Пример использования:
A = [1, -3, 5, -7, 9, -11, 13, -15, 17, -19, 21, -23, 25, -27, 29, -31, 33, -35, 37, -39]
result = sum_negative_odd_indices(A)
print("Сумма отрицательных элементов на нечетных местах:", result)
Этот код выполняет следующие действия:

Проверяет, что массив содержит ровно 20 элементов.
Проходит по массиву с шагом 2, начиная с индекса 1 (что соответствует нечетным местам в 1-индексной системе).
Если элемент отрицательный, добавляет его к общей сумме.
Возвращает итоговую сумму.
С++ код:
 #include  
#include

int sumNegativeOddIndices(const std::vector& arr) {
// Проверяем, что массив имеет длину 20
if (arr.size() != 20) {
throw std::invalid_argument("Массив должен содержать ровно 20 элементов.");
}

// Инициализируем сумму
int total = 0;

// Проходим по массиву, начиная с первого элемента (индекс 0)
for (size_t i = 1; i < arr.size(); i += 2) {
if (arr[i] < 0) {
total += arr[i];
}
}

return total;
}

int main() {
std::vector A = {1, -3, 5, -7, 9, -11, 13, -15, 17, -19, 21, -23, 25, -27, 29, -31, 33, -35, 37, -39};
try {
int result = sumNegativeOddIndices(A);
std::cout << "Сумма отрицательных элементов на нечетных местах: " << result << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << e.what() << std::endl;
}

return 0;
}
Похожие вопросы