PDA

View Full Version : تابع بازگشتی



iut.ali
چهارشنبه 16 بهمن 1392, 18:32 عصر
سلام کسی میتونه الگوریتمی بم بده که با اون بشه تمام زیر مجموعه های یک عددو بصورت بازگشتی چاپ کنه

amirhossein.ha
پنج شنبه 17 بهمن 1392, 11:11 صبح
شما میتونی یه ارایه متناظر با ارایه داشته باشی که هر خونه اگه یک بود چاپش کنه و اگر 0 بود اونو چاپ نکنه مثه این :‌

#include <iostream>

using namespace std;

int n,a[10000],x[10000];
void print(int nu[],int x[])
{
for(int i=0;i<n;i++)
if(x[i])
cout<<nu[i]<<' ';
cout<<'\n';
}
void subset(int a[],int n)
{
if(!n){print(a,x) ; return ;}
x[n-1] = 0 ;
subset(a,n-1) ;
x[n-1] = 1 ;
subset(a,n-1) ;
}
int main()
{
cin >> n ;
for(int i = 0 ; i < n ; i++)
cin >> a[i] ;
subset(a,n) ;
return 0;
}



اگه سوالی در مورد کد هست بکید تا توضیح بدم