gpt4 book ai didi

c++ - 将 Bitset 数组转换为 vector

转载 作者:行者123 更新时间:2023-11-28 00:19:25 26 4
gpt4 key购买 nike

我有一组 0 和 1 作为我的输入,如下所示,我需要在它们之间进行一些成对的 bool 运算(与、或、异或、非)(将每一行视为)。

111100000000
101100000010
111011100000
111100000001
001100010001

读取和存储每一行​​的代码是:

int lineCounter = 0;
while (std::getline(infile, line))
{
myinput[lineCounter] = bitset<LEN> (std::string(line));
lineCounter++;
}

现在我正在使用 bitset 数组来存储每一行​​ bitset<LEN> myinput[NUMBER];LEN是每行的大小,NUMBER是我的输入文件中的行数。但问题是我不想指定 LENNUMBER在编译期间,因为我必须使用不同的输入。话虽如此,我希望用户提供 LENNUMBER作为运行程序时的输入参数。因为我不能为 bitset 做动态分配我想使用 vector 但不知道我应该如何使用它来完成我的工作!你能告诉我如何读取和存储我的输入,并在 vector 或任何其他可以处理动态分配的帮助下进行成对 bool 运算吗?

最佳答案

你可以这样读取输入:

vector< vector<bool> > set;
int lineCounter = 0;
while (std::getline(infile, line))
{
string input = string(line)
vector<bool> line;
while(input.size!=0){
if(input.front()=='0'{
line.pushBack(false);
}
else{
line.pushBack(true);
}
input.erase(0,1);
}
set.pushback(line);
lineCounter++;
}

就成对 bool 运算而言,迭代两个 vector 并执行适当的按位运算就足够了。

关于c++ - 将 Bitset 数组转换为 vector <bool>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28309778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com