PDA

View Full Version : سوال: تر کیب اعداد



ghoroghchian
یک شنبه 08 شهریور 1388, 23:41 عصر
دوست خوب من سلام

توی برنامه نویسی به یه مشکلی برخوردم:
ببینید من یه تعداد عدد تک رقمی دارم که هر بار میخواهم تر کیبی مشخص از آنها داشته باشم اما مسئله اونجاست که هر بار تعداد ارقام اون عدد(عدد حاصل از ترکیب
) توی روال برنامه مشخص میشه.
مثلا ما اعداد1و2و3و4و5و6 رو داریم که میخواهیم یه بار تمام اعداد 6 رقمی از این اعداد رو داشته باشیم
ومثلا یه بار تمام ترکیب اعداد 3 رقمی که میشه از این 6عدد ساخت رو ؟
تعداد هر دفعه فرق میکنه.

tdkhakpur
دوشنبه 09 شهریور 1388, 11:11 صبح
سلام
اعداد گفته شده شما را داخل برنامه درج شد میتوانید اعداد را بزرگتر یا کوچکتر کنید


#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#define MaxNums 6 // این مقادیر را تعویض کنید
#define MaxCalcNums 3
typedef struct MySt_
{
int Nums [MaxNums];
int ResultNums [MaxNums];
int cResult ;
bool Flag [MaxNums];
} Nums ;
void CalcNums ( int index, Nums nums )
{
if( index == MaxNums || nums.Flag[index] ) return;
//nums.Flag[index] = true;
nums.ResultNums [ nums.cResult ] = nums.Nums[index];
nums.cResult ++;
if( nums.cResult == MaxCalcNums )
{
cout<<"\n------------\n";
for( int i=0; i<nums.cResult ; i++ )
cout<<nums.ResultNums [i]<<",";
cout<<" press key..";
if( getch()==27 ) return;
return;
}
for( int i=0; i<MaxNums ; i++ )
if( i!=index )
CalcNums ( i, nums );
}
int main()
{
Nums nums={0};
clrscr();
nums.Nums [0] = 2; nums.Nums [1] = 5; nums.Nums [2] = 3; // این اعداد ورددی شماست
nums.Nums [3] = 4; nums.Nums [4] = 6; nums.Nums [5] = 1;
for( int i=0; i<MaxNums ; i++ )
CalcNums ( i, nums );
return 0;
}