C++ 比较矢量和打印布尔
我试图让我的代码比较两个向量。两个向量将与相同数量的C++ 比较矢量和打印布尔,c++,vector,for-loop,C++,Vector,For Loop,我试图让我的代码比较两个向量。两个向量将与相同数量的ints进行比较。如果redCups中的所有ints小于GreenCups,我希望它输出Yes。如果redCups中的任何杯子大于greenCups,则输出No 我处理得对吗 bool beb = true; for (int i = 0; i < numCups; i++) { if (redCups[i]<greenCups[i]) { beb =
int
s进行比较。如果redCups
中的所有int
s小于GreenCups
,我希望它输出Yes
。如果redCups
中的任何杯子大于greenCups
,则输出No
我处理得对吗
bool beb = true;
for (int i = 0; i < numCups; i++)
{
if (redCups[i]<greenCups[i])
{
beb = false;
}
}
if (beb == true)
{
cout << "Yes" << endl;
}
if else ( beb == false)
cout << "No" << endl;
boolbeb=true;
对于(int i=0;i 如果(redCups[i]代码是好的,但有一点错误,那么如果所有redCups
绿色cups
,您希望得到yes,如果有红色cups
=绿色cups
,则得到no。代码:
if (redCups[i] >= greenCups[i]) // you have to decide whether if its > or >=
{
beb = false;
}
我想您之前已经检查过redCups
和greenCups
至少包含numCups
个整数:
if (redCups.size() >= numCups && greenCups.size() >= numCups)
{
//your code : (bool beb = true; .................... cout << "No" << endl;)
}
if(redCups.size()>=numCups&&greenCups.size()>=numCups)
{
//您的代码:(bool beb=true;…..cout您可以使用std::equal
算法来比较两个容器中的每一对元素。默认情况下,如果所有元素对都相等,则返回true
,但很容易测试每一对元素的less
或less_equal
bool beb = std::equal(redCups.begin(), redCups.end(), greenCups.begin(), std::less<int>());
bool beb=std::equal(redCups.begin(),redCups.end(),greenCups.begin(),std::less());
#包括
#包括
使用名称空间std;
内部主(空)
{
向量v1;
矢量v2;
v1.推回(5);
v1.推回(9);
v1.推回(4);
v1.推回(3);
v1.推回(2);
v2.推回(10);
v2.推回(12);
v2.推回(9);
v2.推回(4);
v2.推回(3);
布尔贝布=真;
对于(unsigned int i=0;i当您尝试使用某些测试数据集时,您的代码是否正常工作?您的逻辑结构看起来不错,但可能有一些测试是反向的。如果您想检查这一点,您可以返回一个int:1表示真,0表示假,如果其中一个向量包含小于numCups
int,则返回-1。
#include <iostream>
#include <vector>
using namespace std;
int main(void)
{
vector<int> v1;
vector<int> v2;
v1.push_back(5);
v1.push_back(9);
v1.push_back(4);
v1.push_back(3);
v1.push_back(2);
v2.push_back(10);
v2.push_back(12);
v2.push_back(9);
v2.push_back(4);
v2.push_back(3);
bool beb = true;
for (unsigned int i=0; i<v1.size(); i++)
if(!(v1[i]<v2[i]))
{
beb = false;
break;
}
if (beb == true)
cout << "Yes" << endl;
else
cout << "No" << endl;
cin.get();
return 0;
}