Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何获得用于数学用途的向量元素?_C++ - Fatal编程技术网

C++ 如何获得用于数学用途的向量元素?

C++ 如何获得用于数学用途的向量元素?,c++,C++,这里是新手程序员 我有一个向量,里面有两个值 vector<double> P = {205.65,205.7,205.5,205,203.65,200.70...} 向量P={205.65205.7205.5205203.65200.70…} 现在我想将两个随机元素之间的差异存储在一个单独的容器中。 我不想要循环,减法中没有顺序。我只是想知道如何从另一个元素中减去一个元素,并将结果存储在不同的容器中 嗯,Q.push_-back(p[i]-p[j])是一种方法 Q是一个容器(例

这里是新手程序员

我有一个向量,里面有两个值

vector<double> P = {205.65,205.7,205.5,205,203.65,200.70...}
向量P={205.65205.7205.5205203.65200.70…} 现在我想将两个随机元素之间的差异存储在一个单独的容器中。 我不想要循环,减法中没有顺序。我只是想知道如何从另一个元素中减去一个元素,并将结果存储在不同的容器中

嗯,
Q.push_-back(p[i]-p[j])
是一种方法

Q
是一个容器(例如
std::vector
),支持
推回

i
j
是向量
p
范围内的
size\t
类型
P[i]
正在访问
P
i
th元素。请注意,索引从0开始


最后,请注意,
i
j
需要索引容器的有效元素:如果它们在容器的范围之外,则程序行为未定义。通常,如果没有立即的运行时故障,这可能是一种无声的效果,但它可能会产生潜在的危险后果,例如覆盖内存中相邻变量的值!因此,有些程序员牺牲了一点性能,并使用了< P.at >(i)<代码>代替了<>代码> p[i] < />代码>因为前者要求C++标准在尝试越界访问时抛出异常。 步骤1:让我们使用以下语句定义一个新的2D向量:

      vector <double> diff2(P.size());
      vector < vector <double> > diff(P.size(),diff2);
注意:i和j是要减去的元素的索引。索引从0开始


示例:diff[1][3]=p[1]-p[3]=205.7-205=0.7

与非数学用途完全相同。这样一个低级的问题真的值得回答吗?@SergeyA:我喜欢从这样一个问题的思维迷雾中找到答案。你可以在一行代码中完成向量diff(p.size(),vector)的整个创建过程(P.size());
      diff[i][j] = P[i] - P[j];