我正在尝试使用布尔函数以外的功能

时间:2019-05-14 06:15:34

标签: c++

P是整数的一维数组。编写一个C ++函数以有效地从P搜索数据VAL。如果VAL存在于数组中,则该函数应返回该值的位置,否则将显示该值不存在。

#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

2 个答案:

答案 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)

您应该返回值的位置,因此parallelbool都是错误的选择-它应该是某种整数。 br /> 由于位置必须是非负整数,因此您可以返回带符号整数并通过返回负数来指示失败。 (void是“常规”选择,所以选择它。)
然后使输出取决于结果是否为负。

您的-1的相关部分看起来像

main