作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有两个 vector :
vector<int> v1(size);
vector<int> v2(size);
我想要的是计算 A[0]*B[0] - A[1]*B[1] - A[2]*B[2] - ... - A[n -1]*B[n-1]
。我试过以下方法
#include <iostream>
#include <vector>
using namespace std;
int main()
{
size_t size = 4;
vector<int> product; int i;
vector<int> v1(size);
vector<int> v2(size);
v1[0] = 2; v2[0] = 4;
v1[1] = 5; v2[1] = 1;
v1[2] = 9; v2[2] = 6;
v1[3] = 3; v2[3] = 7;
for(i=1;i < v1.size();++i){
product.push_back(v1[i]*v2[i]);
}
for(vector<int>::const_iterator i = product.begin(); i != product.end(); ++i)
std::cout << *i << ' ';
return 0;
}
但是,从 v1[1]*v2[1]、v1[2]*v2[2] 和 v1[3]*v2[ 开始,这将返回
我想将它们彼此相减:5 54 21
3]5-54-21
。
最佳答案
首先,在您的公式中,必须添加第一个产品(IOW 为正),同时减去其余产品。所以你必须区别对待这两种情况。
其次,您可以通过从零开始计算正在进行的结果来轻松地执行计算:
int result = 0;
if (size >= 1) {
result += v1[0]*v2[0];
for (int i = 1; i < size; ++i)
result -= v1[i]*v2[i];
}
std::cout << result << std::endl;
关于c++ - 在C++中相应地乘以 vector 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065641/
我在 Java 中遇到异常处理问题,这是我的代码。当我尝试运行此行时出现编译器错误:throw new MojException("Bledne dane");。错误是: exception MojE
我刚刚开始学习asp.net。在你们的支持下,我希望我能从这个论坛学到更多东西。 我的问题是, 我在 asp.net 页面中有一个 TabContainer1,因为每个选项卡面板中有多个类似 (60)
我是一名优秀的程序员,十分优秀!