int a[4],b;
static int mid[]={23,21,87,12,67,96,51,3,48,60};/////原数组
int i=0;
for( i=0;i<4;i++) //
{
b=(10-i)*rand()/32767;//////////取随机顺序
a[i]=mid[b];
mid[b]=mid[9-i];
mid[9-i]=a[i];
}
//////数组a[]即是所求
static int mid[]={23,21,87,12,67,96,51,3,48,60};/////原数组
int i=0;
for( i=0;i<4;i++) //
{
b=(10-i)*rand()/32767;//////////取随机顺序
a[i]=mid[b];
mid[b]=mid[9-i];
mid[9-i]=a[i];
}
//////数组a[]即是所求
解决方案 »
- MFCC ODBC ACCESS数据库中添加出错
- 請問那里有VC++繁體中文版下載啊
- 想问问windows mobile是用什么什么写的 想学习学习手机编程
- SPY++,拖动 Find tools 找不到窗口,但窗口树里可以看到
- 问ClistCtrl相关的问题,拷贝一行,拷贝全部,和输出到文件
- 我这样分割窗口后为什么第一列的窗口宽度都是0,代码是。。。
- 在MFC开发的ActiveX控件中,ActiveX控件与其属性页是怎么传递消息的?高手请进!!
- 一个很多人感兴趣的问题,高分哟 :)
- 如何设置工具条的背景色?在线等待
- 有关dao的问题
- 看看那里错了,看的火大了,
- 谁能讲讲dll和lib的原理?
没有时:(有顺序时可以从没有中排列得到)
用一个32位的数(只用到了低10位,16位也可以)的各个位来标明对应的数要不要在数组中
比如说:(0x0286)000000 1010000110 说明第1,2,7和9(0开始计)的数被选择
编程:
int t;
for(DWORD i=0x0000;i<0x0200;i++)
{
t=0;
for(int j=0;j<10;j++)
{
if( i & 1<<j )
t++;
if(t>4)
break;
}
if(t==4)
{
//从i中得到要选择的数(不想写了)
}
}
CString st,m_data;
int a[4];
static int mid[]={23,21,87,12,67,96,51,3,48,60};
int i,i1,i2,i3,i4,ii;
for( i=0;i<7;i++)
for(i1=i;i1<7;i1++)
for(i2=i1+1;i2<8;i2++)
for(i3=i2+1;i3<9;i3++)
for(i4=i3+1;i4<10;i4++)
{ m_data+="\r\t";
a[0]=mid[i1];
a[1]=mid[i2];
a[2]=mid[i3];
a[3]=mid[i4];
for(ii=0;ii<4;ii++)
{
st.Format ("%d ",a[ii]);
m_data+=st;
}
}
////////调试通过///////显示m_data可以查看结果;