【发布时间】:2014-12-07 14:56:47
【问题描述】:
我试图在向量 b 中定位向量 a。所以这就像是如果向量 a 在向量 b 中,则返回 true,否则返回 false。向量 a 应该像 {1,2,3} 而 b 应该像 {4,1,2,3,5,5,7}。这段代码的输出就像真 1 和假 0。所以我的问题是我不希望 1 和 0 出现在输出中。 另外我想以递归形式编写这段代码,所以有人可以帮我解决这个问题吗?
bool x(vector<int>& a, vector<int> b)
{
vector<int> index ( b.size(),0 );
int counter = 0;
if ( a.size() <= b.size() ) {
for ( int i = 0; i < a.size(); i++ ) {
for ( int j = 0; j < b.size(); j++ ) {
if ( a[i]== b[j]) {
index[j] = 1;
}
}
}
for ( int i = 0; i < index.size(); i++ ) {
if ( index[i] == 1 ) {
for ( int j = i; j < index.size(); j++ ) {
if ( index[j] == 1 ) {
counter++;
}
}
if(counter == a.size()){
cout<<"true"<<endl;
return true;
break;
}
else{
counter = 0;
cout<<"false"<<endl;
return false;
// continue;
}
}
}
}
return 0;
}
【问题讨论】:
-
如果你不想要 1 或 0 在 o/p 那么你想要什么?
-
我只想要真假
标签: c++ loops data-structures vector