我有遗传算法的项目。我用我的代码制作随机数组。我需要您的帮助进行随机两行选择。如果您可以给我示例代码,因为我尝试了太多次,但找不到解决方案。
这是我的代码,
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 20
void init(int a[SIZE][SIZE], int sum[SIZE]);
void dump(int a[SIZE][SIZE], int sum[SIZE]);
int main()
{
int a[SIZE][SIZE];
int sum[SIZE];
init(a, sum);
dump(a, sum);
return 0;
}
void init(int a[SIZE][SIZE], int sum[SIZE])
{
srand(time(NULL));
int i,j;
for (i=0; i<SIZE; ++i)
{
sum[i] = 0;
for(j=0; j<SIZE; ++j)
{
a[i][j] = rand() % 2;
sum[i] += a[i][j];
}
}
}
void dump(int a[SIZE][SIZE], int sum[SIZE])
{
int i,j;
for (i=0; i<SIZE; ++i)
{
for(j=0; j<SIZE; ++j)
printf("% 2d", a[i][j]);
printf(" sum = %dn", sum[i]);
}
}
你可以使用随机函数 - rand((
如果您使用rand()% RAND_MAX
rand(( 将生成从 0 到 RAND_MAX-1 的随机数,即 rand((%100 将生成从 0 到 99 的随机数。
最小值和最大值之间的随机数可以通过以下方式生成:
minimum + (rand() % (maximum – minimum + 1));
但是,每当您需要生成随机数序列时,都应该使用 srand(( 函数。