回 帖 发 新 帖 刷新版面

主题:从二维数组中如何随机取几组数据?

请教一下,如何从二维数组中随机取出几组数据呢?比如现在有二维数组:
 1   2   3    4   5    6
 11  12  13   14  15   16
在其中随机取出三组数据
1   3   4
11  12  14
并使第一行的数和第二行的数据一一相对应!
是不是得建立一个简单的数据库来实现呢?

回复列表 (共2个回复)

沙发

这是我用c编的,初步可以完成你所说的随机抽取二维数组,但显示就达不到你的要求,,,希望能有人来优化和改进,,

#include "stdio.h"
#include "time.h"
#include "stdlib.h"
main ()
{   int t[2][6]={1,2,3,4,5,6,11,12,13,14,15,16} ;
    int i ,j,k,h;
    srand((unsigned)time(NULL)); /*指定种子值为现在的时间*/ /*使用time()函数前必须包含头文件time.h。*/
    for ( i=0; i<7; i++)/*产生随机数的个数*/
    {     j=(rand()%2); /*产生0-1的随机数*/
          k=(rand()%6); /*产生0-5的随机数*/
        printf("%d  ",t[j][k]);
    }

    getch();

}
/*要取[a,b)之间的随机整数(包括a,但不包括b),使用:(rand() % (b - a)) + a*/

板凳

设,横向有n个数据
产生一个1~n的随机数i
然后输出各行第i个数据就行了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册