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;
}