写一个两个三元组相加(C=A+B)算法,和C以二维数组表示。 用c++格式写
时间: 2024-10-16 14:07:12 浏览: 31
在C++中,我们可以创建一个函数,接受两个包含三元组(A、B、C)的二维数组作为输入,并计算每个元素对的和,然后更新结果数组C。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
// 定义一个三元组结构体
struct Triple {
int A;
int B;
int C; // 初始化为0用于存储累加结果
};
void addTriples(const std::vector<std::vector<Triple>>& A, const std::vector<std::vector<Triple>>& B, std::vector<std::vector<Triple>>& C) {
for (size_t i = 0; i < A.size(); ++i) {
for (size_t j = 0; j < A[i].size(); ++j) { // 遍历A和B的所有元素
A[i][j].C = A[i][j].A + B[i][j].B; // 计算C的值并将结果存入对应位置
}
}
}
int main() {
// 创建两个示例的二维三元组数组
std::vector<std::vector<Triple>> A = {{1, 2, 0}, {3, 4, 0}};
std::vector<std::vector<Triple>> B = {{5, 6, 0}, {7, 8, 0}};
// 结果数组C初始化为空
std::vector<std::vector<Triple>> C(A.size(), std::vector<Triple>(A[0].size(), {0, 0, 0}));
// 调用addTriples函数
addTriples(A, B, C);
// 打印结果C
for (const auto& row : C) {
for (const auto& triple : row) {
std::cout << "A(" << triple.A << ", " << triple.B << ") + B(" << triple.B << ", " << triple.B << ") = C(" << triple.A + triple.B << ", " << triple.C << ")" << '\n';
}
}
return 0;
}
```
阅读全文