سلام دوستان کسی میتونه کمکم کنه خیلی ضروریه
1- برنامه ای بنویسید که یک عدد راگرفته و کلیه جایگشت های آن را چاپ کند؟
(از تابع و رشته ها حل نشده باشه)
2- برنامه ای بنویسید که زیر مجموعه های آن را بنویسد
بدون استفاده از رشته ها و توابع
خواهش میکنم اگه کسی بلده بگه
سلام
به فروم خوش اومدید
اگه خودتون برنامه رو نوشتید و سوالی داشته باشید بچهها جواب میدن
در غیر اینصورت باید در بخش انجام پروژه تاپیک باز کنید که هرکی که توانایی داشته باشه کل پروژه رو انحام بده اعلام میکنه
و اینکه عنوان تاپیک هم دلیل بر این میشه که کسی بهش مراجعه کنه :d
(۲۸-مرداد-۱۳۹۲, ۱۲:۲۴:۱۷)b-andishe نوشته است: [ -> ]سلام دوستان کسی میتونه کمکم کنه خیلی ضروریه
1- برنامه ای بنویسید که یک عدد راگرفته و کلیه جایگشت های آن را چاپ کند؟
(از تابع و رشته ها حل نشده باشه)
2- برنامه ای بنویسید که زیر مجموعه های آن را بنویسد
بدون استفاده از رشته ها و توابع
خواهش میکنم اگه کسی بلده بگه
دوستان کمک کنید
کار این برنامه اینه که جایگشت F و T رو محاسبه و چاپ می کنه!
مثلا اگه بهش بدیم 3 این رو برامون چاپ می کنه:
TTT
FTT
TFT
FFT
TTF
FTF
TFF
FFF
کد:
#include<iostream.h>
#include<conio.h>
#include<math.h>
main(){
int h,m,a,z,n,FT[20]={0};
cout<<"ENTER THE NUMBER [max 9] " <<(char) 1 <<" = ";
cin>>n;
for(z=1,a=0,h=0;h<pow(2,n);z++,a=0,h++)
{
cout<<endl;
cout<<z<<"."<<"{";
for(m=0;m<n;m++)
{
if(FT[m]==1)
cout<<"F";
else
cout<<"T";
}
cout<<"}";
FT[a]=FT[a]+1;
for(;FT[a]>1;)
{
FT[a]=FT[a]-2;
a=a+1;
FT[a]=FT[a]+1;
}
}
getch();
}
برنامه بدست آوردن تمام زیر مجموعه های یک مجموعه (هر تعداد عضو) با استفاده از توابع
کد:
#include<iostream.h>
#include<conio.h>
#include<string.h>
int power(int a,int b)
{
int k=1;
for(int i=0;i<b;i++)
k=a*k;
return k;
}
void print(char aray[][10],int s1,int ar[],int s2)
{
int h=1;
for(int i=0;i<s1;i++)
{
cout<<h<<".{";
for(int j=0;j<s2;j++)
{
if(aray[i][j]=='1')
{
cout<<ar[j]<<",";
}
}
cout<<"}"<<endl;
h++;
}
}
int main()
{
int size;
cout<<"Enter the number of members: (Max=10)"<<endl;
cin>>size;
int ar[10];
cout<<"Now enter the members:"<<endl;
for(int i=0;i<size;i++)
cin>>ar[i];
cout<<"nCollection: {"<<ar[0];
for(i=1;i<size;i++)
cout<<","<<ar[i];
cout<<"}n";
int s1;
s1=power(2,size);
char aray[50][10];
strcpy(aray[0],"0");
strcpy(aray[1],"1");
cout<<"nAll subsets:n";
int b=0;
int j=0;
while(power(2,j+1)<s1)
{
b=0;
j++;
for(int i=0;i<power(2,j);i++)
{
for(int l=0;l<2;l++)
{
if(l==0)
{
strcpy(aray[b+power(2,j)],aray[b]);
strcat(aray[b+power(2,j)],"0");
}
else
strcat(aray[b],"1");
}
b++;
}
}
print(aray,s1,ar,size);
return 0;
}
امیدوارم به کارتون بیاد این دوتا کد!

ببخشید چرا این کد رئ که میزنم در ویژوال استدیو کار نمیکنه؟
بعد از include ها
را بنویسید
خیلی کدتون سخته
میشه بازگشتی کدتونم بنویسید؟؟؟؟؟؟؟؟؟؟؟
(۱۷-بهمن-۱۳۹۲, ۰۰:۱۱:۳۴)f.akrami1995 نوشته است: [ -> ]خیلی کدتون سخته
میشه بازگشتی کدتونم بنویسید؟؟؟؟؟؟؟؟؟؟؟
به دست آوردن جایگشت های كاركترهای یك رشته است:
برای مثال رشته "123"در نظر بگیرید كاراكترهای آن 6جایگشت دارند:
"123","213","321","132",213","231","312"
تابع زیر به روش بازگشتی نوشته شده است:
کد:
void perm (char [] s,int n,int N)
{
if(n==N)
cout<<s<<endl;
else
{
char x=s[n];
int i;
for(i=n;i<N;i++)
{
s[n]=s[i];
s[i]=x;
perm(s,n+1,N);
s[i]=s[n];
}
s[n]=x;
}
}
منظورم از بازگشتی اون نبود این بود که
برنامه ای بنویسد که تمام زیر مجموعه های یک مجموعه n عضوی را چاپ کند ) به روش بازگشتی