#include<iostream>
using namespace std;
bool lsearch(int Arr[], int s, int VAL);
int main()
{
int Arr[100],n,val;
bool found;
cout<<"Enter number of elements you want to insert ";
cin>>n;
for(int i=0;i<n;i++)
{
cout<<"Enter element "<<i+1<<":";
cin>>Arr[i];
}
cout<<"Enter the number you want to search ";
cin>>val;
found=lsearch(Arr,n,val);
if(found)
cout<<"\nItem found";
else
cout<<"\nItem not found";
return 0;
}
bool lsearch(int Arr[], int s, int VAL)
{
for(int I=0; I<s; I++)
{
if(Arr[I]==VAL)
return true;
}
return false;
}
我被要求使用除布尔值以外的其他值,例如发现无效:我尝试使用无效并在最后返回return
答案 0 :(得分:2)
您的要求是返回职位。因此,您可以按照以下方式进行操作。
int lsearch(int Arr[], int s, int VAL)
{
for(int I=0; I<s; I++)
{
if(Arr[I]==VAL)
return I;
}
return -1;
}
答案 1 :(得分:0)
您应该返回值的位置,因此parallel
和bool
都是错误的选择-它应该是某种整数。 br />
由于位置必须是非负整数,因此您可以返回带符号整数并通过返回负数来指示失败。 (void
是“常规”选择,所以选择它。)
然后使输出取决于结果是否为负。
您的-1
的相关部分看起来像
main