【问题标题】:C++ Comparing elements of 2 different vectorsC ++比较2个不同向量的元素
【发布时间】:2017-06-18 23:55:57
【问题描述】:

这是我的代码:

// vector 2, vector 3 contain each 7 integers and vector 1 contains 7 vectors of 7 integers.

std::vector < std::vector<int> > vector1;
vector1.push_back(vector2);
vector1.push_back(vector3);

if(vector1[1][0] == vector1[0][0]) {
    std::cout<<"Equal";
}

由于两个向量的比较,我的编译器崩溃了。我感觉有一种不同的方法来比较多向量。我一直在网上搜索,找不到东西。

谢谢!

【问题讨论】:

  • 欢迎来到 Stack Overflow。请花时间阅读The Tour 并参考Help Center 中的材料,您可以在这里问什么以及如何问。
  • 您的编译器崩溃?什么意思?
  • vector1.push_back(10); 无效,不应编译。 vector1 无法存储 int。你需要push_backvector 这闻起来像X-Y problem。您的总体目标是什么?
  • 我正在尝试验证第一个向量的元素是否等于第二个向量的元素。我编辑了代码。
  • 你能告诉我们完整的代码吗?我无法发现该代码有任何问题..

标签: c++ vector operators


【解决方案1】:

此代码完全按照您所说的那样做,但不起作用。 如果您以正确的方式创建了vector >,则此代码没有任何问题。你只是在比较两个数字。

#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::vector;

int main()
{
    vector<int> v1{1,2};
    vector<int> v2{2,3};
    vector<vector<int> > v3;
    v3.push_back(v1);
    v3.push_back(v2);
    if(v3[0][0] == v3[1][0])
    {
        cout << "The first elements of the first and second vector of v3 are equal" << std::endl;
    }
    else
       cout << "They are different" << std::endl;
    return 0;
}

【讨论】:

    猜你喜欢
    • 2014-03-16
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    相关资源
    最近更新 更多