ايران ويج

نسخه‌ی کامل: برنامه‌ی جایگشت و زیر‌مجموعه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان کسی میتونه کمکم کنه خیلی ضروریه
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;
}
امیدوارم به کارتون بیاد این دوتا کد!Biggrin
ببخشید چرا این کد رئ که میزنم در ویژوال استدیو کار نمیکنه؟
بعد از include ها
کد php:
using namespace std
را بنویسید
خیلی کدتون سخته

میشه بازگشتی کدتونم بنویسید؟؟؟؟؟؟؟؟؟؟؟
(۱۷-بهمن-۱۳۹۲, ۰۰:۱۱:۳۴)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 عضوی را چاپ کند ) به روش بازگشتی