C语言随机 生成不重复的0,1 矩阵

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言随机 生成不重复的0,1 矩阵相关的知识,希望对你有一定的参考价值。

矩阵为 n * r的,必须生成r列不重复的由0,1组成的矩阵,怎么写

效率不太高,lz参考一下吧

//created by onceway
#include <stdio.h>
#include <time.h>
#include <math.h>

#define N 8
#define R 3

int init_s(int *s, int n, int r)

int i ,j, k = 0;
if(n > pow(2, r)) //n不能大于2的r次方,否侧无解
return 0;
srand(time(NULL));
for(i=0; i<n; i++)

for(j=0; j<r; j++) //随机出一行数据
s[i*r+j] = rand() % 2;
for(j=0; j<i; j++) //判断是否和已经生成的行重复

for(k=0; k<r; k++)

if(s[i*r+k] != s[j*r+k])
break;

if(r==k) //如果有重复

i--;
break;



return 1;


int main()

int a[N][R];
int rc, i, j;
rc = init_s(*a, N, R);
for(i=0; i<N; i++)

for(j=0; j<R; j++)
printf("%d ", a[i][j]);
putchar('\n');

return 0;
参考技术A 这个不重复是什么意思?

以上是关于C语言随机 生成不重复的0,1 矩阵的主要内容,如果未能解决你的问题,请参考以下文章

C语言如何产生不重复的随机数

求PHP语言随机自动生成不重复的数字

c语言如何产生随机不重复的数,我不重复不知道怎么写。怎样不重复

JS生成不重复的随机数组的简单实例

怎么用python生成随机的且不重复的整数?

C#如何生成随机不重复的数字