如何在 c++ 中将一维数组中的值与二维数组中的值进行比较
How to compare values in a 1d array to a 2d array in c++
我正在创建一个在 c++ 中使用的彩票程序,我想知道这段代码是否可以比较数字
do
{
for (int Num = 0; Num < 6; Num++) {
if (RandomNumber[Num] == Numbers[Games][Num]) {
cout << "A Number matches" << Numbers[Games][Num] << endl;
} else {
cout << "Bad Luck, Try Again Next Time" << Numbers[Games][Num] << endl;
}
}
Games = Games - 1;
} while (Games > -1);
每当我尝试运行此代码时,它都不会正确比较数字,我能想到的唯一问题是无法运行代码来执行我希望它执行的操作。对此问题的任何帮助将不胜感激。干杯
我认为你不仅应该检查所有数字[游戏][数字],但我只是猜测。我不知道你的整个想法。我认为你应该做这样的事情:
do
{
for (int Num=0; Num<6; Num++)
{
bool exist = false;
for( int i = 0; i < 6; ++i )
{
if (RandomNumber[Num] == Numbers[Games][i]) exist = true;
}
if (exist)
{
cout<<"A Number matches"<<RandomNumber[Num]<<endl;
}
else
{
cout<<"Bad Luck, Try Again Next Time"<<RandomNumber[Num]<<endl;
}
}
Games = Games - 1;
}
while (Games>-1);
}
我没有测试此代码。这不是最佳性能解决方案。
假设您正在尝试匹配整行,您当前的逻辑似乎不是很好。
这是@Adam Folwarczny发布的内容的略微修改版本。
#include <iostream>
int main (void)
{
int Numbers [] [6] =
{
{1, 2, 3, 4, 5, 6},
{7, 8, 9, 10, 11, 12},
{13, 14, 15, 16, 17, 18},
{19, 20, 21, 22, 23, 24}
};
int RandomNumber [] = {13, 14, 15, 16, 17, 18} ;
int nGames = sizeof (Numbers) / sizeof (Numbers [0]) ;
int nNumbers = sizeof (RandomNumber) / sizeof (RandomNumber [0]) ;
// This assumes order matters.
for (int i = 0; i < nGames; ++i) {
bool bWin = true ;
for (int j = 0; j < nNumbers; ++j) {
if (RandomNumber [j] != Numbers [i] [j]) {
bWin = false ;
break ;
}
}
if (bWin == true) {
std::cout << "Player " << (i + 1) << " won!" << std::endl ;
}
else {
std::cout << "Player " << (i + 1) << " lost!" << std::endl ;
}
}
return 0 ;
}
相关文章:
- 将值从二维数组输出到文本文件
- 在二维数组中查找最小值和最大值?
- 移动二维数组中的字符
- 如何正确填充在堆上分配的二维数组?
- 传递二维数组时出现问题
- 具有随机数的二维数组不会更改
- 如何在C++中获取二维数组中最少的一列数?
- 如何使用用户输入变量制作二维数组?
- C++ 中动态二维数组的访问冲突
- 遍历二维数组的所有子数组
- 将二维数组的所有元素插入到一维数组中
- 在函数中传递二维数组
- 为什么指针在对二维数组进行排序时无法正常工作?
- C++ 将二维数组索引与条件语句中的函数值进行比较
- 如何为映射和priority_queue编写比较器,其中元素是二维数组
- 比较二维数组中的数字时的无限循环
- 如何在 c++ 中将一维数组中的值与二维数组中的值进行比较
- 将二维数组与 0 (c++) 进行比较
- 通过C和C++中的二维数组的比较
- 用一些逻辑比较二维数组,想不出来