جستجوی یک عدد در یک ارایه با استفاده از تابع بازگشتی
سلام دوستان.من میخوام یک عدد رو تو یه ارایه جستجو کنم اما با استفاده از تابع بازگشتی. کد پایین رو نوشتم اما خطا میده.کسی میتونه کمکی کنه.مرسی.
#include <iostream.h>
int search (int a[],int b,int n)
{
if (n==-1)
return -1;
else if (b==a[n])
return a[n];
else
return search (a[n-1],b,n-1);
}
int main ()
{
int i,m,z[10],c,q;
m=10;
for (i=0;i<m;i++)
cin>>z[i];
cout<<" what do you want serach: ";
cin>>c;
q= search (z[10],c,m);
cout<<q;
return 0;
}
نقل قول: جستجوی یک عدد در یک ارایه با استفاده از تابع بازگشتی
دوست عزیر مشکل کانورت داره این برنامه شما ! شما می تونید از روش ارجاعی استفاده کنید ! و یا تبدیل رو به صورت دستی انجام دهید !
نقل قول: جستجوی یک عدد در یک ارایه با استفاده از تابع بازگشتی
نقل قول:
نوشته شده توسط
obaid1372
دوست عزیر مشکل کانورت داره این برنامه شما ! شما می تونید از روش ارجاعی استفاده کنید ! و یا تبدیل رو به صورت دستی انجام دهید !
یعنی چه جوری اونوقت؟؟؟میشه مثال بزنی؟؟؟
نقل قول: جستجوی یک عدد در یک ارایه با استفاده از تابع بازگشتی
به خط 19 و 9 نگاه کن متغیری توی خط 9 n از نوع اشاره گر اگر باشه باید برنامه درست بشه چون باید ادرس n رو بفرستی برای ارایه ارایه از نوع اشاره گر هست ولی عدد داده ساده است
اگر به این صورت تغییر بدی درست میشه
#include <iostream>
#define m 10
using namespace std;
int search (int a[],int b,int n);
int main ()
{
int array[m],c,q;
for (int i=0;i<m;i++)
cin>>array[i];
cout<<" what do you want serach: ";
cin>>c;
q=search (array,c,m);
cout<<q;
return 0;
}
int search (int a[],int b,int n)
{
if (n==-1)
return -1;
else if (b==a[n])
return a[n];
else
return search(a,b,n-1);
}