📅  最后修改于: 2023-12-03 14:55:59.061000             🧑  作者: Mango
在 C++ 中,我们可以用数组表示一组序列,而求和向量则是将这些序列对应位置的元素相加得到的向量。求和向量在计算机视觉等领域有着广泛的应用,因此学习求和向量的实现是很有必要的。
我们可以定义一个长度相同的数组,然后用 for 循环遍历这个数组,将对应位置的元素相加得到求和向量。
#include <iostream>
using namespace std;
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {6, 7, 8, 9, 10};
int sum_arr[5];
for (int i = 0; i < 5; i++) {
sum_arr[i] = arr1[i] + arr2[i];
}
for (int i = 0; i < 5; i++) {
cout << sum_arr[i] << " ";
}
cout << endl;
return 0;
}
输出结果为:
7 9 11 13 15
这就是 arr1 和 arr2 的求和向量。
当我们需要处理的数组长度不确定时,使用动态数组则是一个更好的选择。
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入数组长度:";
cin >> n;
int* arr1 = new int[n];
int* arr2 = new int[n];
int* sum_arr = new int[n];
for (int i = 0; i < n; i++) {
cout << "请输入 arr1[" << i << "] 的值:";
cin >> arr1[i];
}
for (int i = 0; i < n; i++) {
cout << "请输入 arr2[" << i << "] 的值:";
cin >> arr2[i];
}
for (int i = 0; i < n; i++) {
sum_arr[i] = arr1[i] + arr2[i];
}
for (int i = 0; i < n; i++) {
cout << sum_arr[i] << " ";
}
cout << endl;
delete [] arr1;
delete [] arr2;
delete [] sum_arr;
return 0;
}
这里使用 new 运算符分配了动态数组 arr1、arr2 和 sum_arr,遍历数组时仍然使用 for 循环,与静态数组实现类似。需要注意的是,在使用完动态数组后,我们需要用 delete [] 运算符将其释放。
求和向量是一种常见的数学操作,在编程中也经常会用到,希望这篇介绍能够帮助你更好地理解和实现求和向量。