C++ 对象c+数组的线性搜索+;
我对一个函数有问题。。 我希望函数有两个参数。。 一个是对象数组,第二个是用户给定的代码 并进入函数运行线性搜索,检查用户的代码是否存在,如果代码存在,将返回其在数组中的位置,否则返回-1 这是我已经尝试过的:C++ 对象c+数组的线性搜索+;,c++,arrays,object,search,C++,Arrays,Object,Search,我对一个函数有问题。。 我希望函数有两个参数。。 一个是对象数组,第二个是用户给定的代码 并进入函数运行线性搜索,检查用户的代码是否存在,如果代码存在,将返回其在数组中的位置,否则返回-1 这是我已经尝试过的: int passwdSearch(Eidos pinPro[], int pass) { int i=0; bool found; found=false; while(i<N && found==false) { if(pinPro[i].getPassw
int passwdSearch(Eidos pinPro[], int pass)
{
int i=0;
bool found;
found=false;
while(i<N && found==false)
{
if(pinPro[i].getPasswd()==pass)
{
found=true;
return i;
}
else
return -1;
i++;
}
int-passwdSearch(Eidos-pinPro[],int-pass)
{
int i=0;
布尔发现;
发现=错误;
while(i如果元素不是数组中的第一个元素,则始终激活else。您应该删除它,然后在while之后返回-1
int passwdSearch(Eidos pinPro[], int pass)
{
int i=0;
bool found;
found=false;
while(i<N && found==false)
{
if(pinPro[i].getPasswd()==pass)
{
found=true;
return i;
}
}
return -1;
}
int-passwdSearch(Eidos-pinPro[],int-pass)
{
int i=0;
布尔发现;
发现=错误;
while(i如果元素不是数组中的第一个元素,则始终激活else。您应该删除它,然后在while之后返回-1
int passwdSearch(Eidos pinPro[], int pass)
{
int i=0;
bool found;
found=false;
while(i<N && found==false)
{
if(pinPro[i].getPasswd()==pass)
{
found=true;
return i;
}
}
return -1;
}
int-passwdSearch(Eidos-pinPro[],int-pass)
{
int i=0;
布尔发现;
发现=错误;
而(i试试这个:
int passwdSearch(Eidos pinPro[], int pass)
{
for(int i=0; i<N; i++)
{
if(pinPro[i].getPasswd()==pass)
return i;
}
return -1;
}
int-passwdSearch(Eidos-pinPro[],int-pass)
{
对于(int i=0;i请尝试以下方法:
int passwdSearch(Eidos pinPro[], int pass)
{
for(int i=0; i<N; i++)
{
if(pinPro[i].getPasswd()==pass)
return i;
}
return -1;
}
int-passwdSearch(Eidos-pinPro[],int-pass)
{
对于(int i=0;i请尝试此代码
int passwdSearch(Eidos pinPro[], int pass)
{
int i=0;
bool found;
found=false;
while(i<N && found==false)
{
if(pinPro[i].getPasswd()==pass)
{
found=true;
return i;
}
else
i++;
}
return -1;
}
int-passwdSearch(Eidos-pinPro[],int-pass)
{
int i=0;
布尔发现;
发现=错误;
而(i请尝试此代码
int passwdSearch(Eidos pinPro[], int pass)
{
int i=0;
bool found;
found=false;
while(i<N && found==false)
{
if(pinPro[i].getPasswd()==pass)
{
found=true;
return i;
}
else
i++;
}
return -1;
}
int-passwdSearch(Eidos-pinPro[],int-pass)
{
int i=0;
布尔发现;
发现=错误;
虽然(iHint:This code永远无法到达你的i++;
。你总是在到达那一行之前从函数返回。dude,std::find_如果不是所有的代码路径都返回一个值,found
布尔变量是完全无用的。请考虑删除它。提示:此代码永远无法到达你的i++;
。)始终在到达该行之前从函数中返回return
。dude,std::find_如果不是所有的代码路径都返回一个值,found
布尔变量是完全无用的。请考虑将其删除。found=true;
在从下一行的函数返回时是不必要的。@nathanOliver true,我只是快速更改了它让它工作,我会编辑,谢谢。错过<代码> I++<代码>。还要注意,这是C++,你可以使用for循环<代码>(int i=0;i < n;i++)。<代码> >发现=真;在下一行的函数返回时是不必要的。@ NaNaOLIVER TRUE,我只是快速地更改它,使其工作,不好编辑,谢谢。丢失代码> I++<代码>。还注意到,这是C++,可以使用for for循环<代码>(int i=0;i < n;i++)<代码>漂亮清理。那里有很好的清理。