C++ 奇偶位求和 第二种方法编写程序

计算数组中,下标是偶数的元素的和与下标是奇数元素的和 使用方法二进行编程 急 只能用c++

img


#include <iostream>

template<typename T>
T* sum(T result[], T odd[], T even[], T a[], int size=10) {
    for (int i = 0; i < size; i++) {
        result[i] = 0;
        odd[i] = 0;
        even[i] = 0;
    }
    for (int i = 0; i < size; i++) {
        if (i % 2 == 0) {
            even[i] = a[i];
        } else {
            odd[i] = a[i];
        }
        result[i % 3] += a[i];
    }
    return result;
}

int main() {
    int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int result[3], odd[10], even[10];
    sum(result, odd, even, a);
    std::cout << "Odd elements: ";
    for (int i = 0; i < 10; i++) {
        if (odd[i] != 0) {
            std::cout << odd[i] << " ";
        }
    }
    std::cout << std::endl;
    std::cout << "Even elements: ";
    for (int i = 0; i < 10; i++) {
        if (even[i] != 0) {
            std::cout << even[i] << " ";
        }
    }
    std::cout << std::endl;
    std::cout << "Result: ";
    for (int i = 0; i < 3; i++) {
        std::cout << result[i] << " ";
    }
    std::cout << std::endl;
    return 0;
}