在两个仅包含0和1的向量上应用或(||)运算符

时间:2017-10-01 14:29:58

标签: c++ c++11 vector c++14

我有两个向量: A = {1,0,1,1}, B = {0,1,1,1}。 我如何应用或操作这两个,以便我可以得到一个向量: C = {0,0,1,1}。

2 个答案:

答案 0 :(得分:3)

std::vector<int> C;
std::transform(A.begin(), A.end(), B.begin(),
    std::back_inserter(C), std::logical_and<int>());

答案 1 :(得分:1)

您可以使用索引

以元素方式循环遍历它们
#include <iostream>
#include <vector>

int main()
{
    std::vector<int> A = {1, 0, 1, 1};
    std::vector<int> B = {0, 1, 1, 1};

    std::vector<int> C(A.size());
    for (std::size_t i = 0; i < A.size(); ++i)
    {
        C[i] = A[i] && B[i];
    }

    for (auto value : C)
    {
        std::cout << value << " ";
    }
}