比较向量和结构向量以匹配值 - C++
Comparing a vector and a vector of struct for matching values - c++
我有一个包含 6 个数字的向量,另一个向量是我的结构的向量,它包含来自文件的数字数据。
我的向量是这样的(vec1 = 6 个随机数,vec2 = 文件数字数据)
vec1
1, 2, 3, 4, 5, 6
vec2
4, 5, 2, 7, 34, 76
5, 7, 3, 7, 1, 23
98, 76, 5, 9, 12, 64
我需要比较vec1和vec2,看看vec2中有多少个匹配的数,以及return从vec1中找到的每个值在vec2中的计数。
我遇到的问题是我的 vec2 是一个结构向量,而 vec1 只是一个常规向量。如何比较 vec 和结构的 vec?我试过下面的但'=='运算符不喜欢 vec 和结构之间的比较。
//struct to store data from file
struct past_results {
std::string date;
std::string winningnums;
};
//vectors to store file content, and 6 random numbers
std::vector<past_results> resultvec;
std::vector<std::string> random_nums
for(int i = 0; i < resultvec.size(); i++)
if(randomnums.at(i) == resultvec.at(i))
{
//output result
}
错误信息:操作数类型为:std::string == past_results
如何明确地从我的结构向量中获取值并与我的法线向量进行比较?
为清楚起见,我删除了很多代码,因为我认为它们不相关,因为我只需要知道如何比较这两个向量。
在您的 if 语句中,您试图将 std::string 类型的 randomnums 元素与 past_result 类型的 resultvec 元素进行比较。为了比较结构的实际 winningnums 值,将 if-statement 更改为:
if(randomnums.at(i) == resultvec.at(i).winningnums)
{
//output result
}
我有一个包含 6 个数字的向量,另一个向量是我的结构的向量,它包含来自文件的数字数据。
我的向量是这样的(vec1 = 6 个随机数,vec2 = 文件数字数据)
vec1
1, 2, 3, 4, 5, 6
vec2
4, 5, 2, 7, 34, 76
5, 7, 3, 7, 1, 23
98, 76, 5, 9, 12, 64
我需要比较vec1和vec2,看看vec2中有多少个匹配的数,以及return从vec1中找到的每个值在vec2中的计数。
我遇到的问题是我的 vec2 是一个结构向量,而 vec1 只是一个常规向量。如何比较 vec 和结构的 vec?我试过下面的但'=='运算符不喜欢 vec 和结构之间的比较。
//struct to store data from file
struct past_results {
std::string date;
std::string winningnums;
};
//vectors to store file content, and 6 random numbers
std::vector<past_results> resultvec;
std::vector<std::string> random_nums
for(int i = 0; i < resultvec.size(); i++)
if(randomnums.at(i) == resultvec.at(i))
{
//output result
}
错误信息:操作数类型为:std::string == past_results
如何明确地从我的结构向量中获取值并与我的法线向量进行比较?
为清楚起见,我删除了很多代码,因为我认为它们不相关,因为我只需要知道如何比较这两个向量。
在您的 if 语句中,您试图将 std::string 类型的 randomnums 元素与 past_result 类型的 resultvec 元素进行比较。为了比较结构的实际 winningnums 值,将 if-statement 更改为:
if(randomnums.at(i) == resultvec.at(i).winningnums)
{
//output result
}