我无法弄清楚如何做到这一点。计算数组中的匹配
的问题是:实现函数
int count_matches(const string arr[], int size, string query);
返回在数组中是等于或query
-1
串的数目,如果尺寸如果小于0
我的回答:
#include <iostream>
#include <cmath>
#include<string>
using namespace std;
int count_matches(const string arr[], int size, string query){
int i = 0;
int numMatches;
for (;i<size;i++) {
if (string[i] == (string[i]+1)){
numMatches++;
}
}
return numMatches;
}
int main(){
string selection;
const string array[4]={"dog", "cat", "dog", "dog"};
cout<<"which animal do you want?"<<endl;
cin>> selection;
cout<< "there are " << count_matches(array, 4, selection)<< " matches"<<endl;
return 0;
}
有什么不对?
你的数组名称是'arr',那么'string [i]'是什么?另外,查看'string [i] + 1'并考虑它做了什么,因为'int numMatches;'是未初始化的,你认为'numMatches ++;'会做什么?你在哪里使用'query'? – 2012-03-30 03:22:26
你根本不使用'query'变量。我不这可能是你想要的...哦,你可能应该初始化'numMatches' ... – mcmcc 2012-03-30 03:23:42
我如何“重新初始化”numMatches? – user1145538 2012-03-30 04:05:25