Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 两个随机数组_C_Arrays_Random_Srand - Fatal编程技术网

C 两个随机数组

C 两个随机数组,c,arrays,random,srand,C,Arrays,Random,Srand,我想用随机数填充2个数组,我必须使用srand(time(NULL)),但当我这样做时,数组具有相同的数字。我通过一个函数创建了第二个数组,因此时间不同,但数组具有相同的数字 #include <stdio.h> #include <stdlib.h> #include <time.h> int stand(int *arr1,int n) { int i,*arr2; arr2=array1(n); for(i=0;i<n;i++) p

我想用随机数填充2个数组,我必须使用srand(time(NULL)),但当我这样做时,数组具有相同的数字。我通过一个函数创建了第二个数组,因此时间不同,但数组具有相同的数字

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int stand(int *arr1,int n)
{
 int i,*arr2;
 arr2=array1(n);
 for(i=0;i<n;i++)
    printf("A= %d\n",*(arr1+i));

 printf("\n");

 for(i=0;i<n;i++)
    printf("b= %d\n",*(arr2+i));

}

int array1(int n)
{
 int i,*pinx;

 pinx = (int*) malloc(n*sizeof(int));

 srand(time(NULL));
 for(i=0;i<n;i++)
    *(pinx+i)=rand()%21+30;
 return pinx;

}

int main()
{
  int *arr1,n,i;

  printf("Give size: ");
  scanf("%d",&n);

  arr1=(int*) malloc(n*sizeof(int));

  srand(time(NULL));
  for(i=0;i<n;i++)
    *(arr1+i)=rand()%21+30;

  stand(arr1,n);

  return 0;

  }
#包括
#包括
#包括
内部机架(内部*arr1,内部n)
{
int i,*arr2;
arr2=阵列1(n);
for(i=0;i
time(NULL)
以秒为单位返回时间。如果对
srand(time(NULL));
的两个调用在同一秒内运行,
srand
两次都获得相同的值,并初始化随机数生成器以生成相同的随机数序列

只需在程序开始时调用
srand
一次,并删除其他用法,事情就会如您所愿。

time(NULL)
以秒为单位返回时间。如果两次调用
srand(time(NULL));
在同一秒内运行,
srand
两次获取相同的值,并初始化随机数生成器以生成相同的随机数序列

只需在程序开始时调用
srand
一次,并删除其他用法,事情就会如您所愿。

time(NULL)
以秒为单位返回时间。如果两次调用
srand(time(NULL));
在同一秒内运行,
srand
两次获取相同的值,并初始化随机数生成器以生成相同的随机数序列

只需在程序开始时调用
srand
一次,并删除其他用法,事情就会如您所愿。

time(NULL)
以秒为单位返回时间。如果两次调用
srand(time(NULL));
在同一秒内运行,
srand
两次获取相同的值,并初始化随机数生成器以生成相同的随机数序列



只需在程序开始时调用
srand
一次,并删除其他用法,事情就会如您所期望的那样进行。

您可能已经设置了相同的种子
时间(NULL)
对于两个调用,假设两个调用都在同一秒内被调用。如果要获得不同的随机数集,则应设置不同的种子。

您可能设置了相同的种子
时间(NULL)
对于两个调用,假设两个调用都在同一秒内被调用。如果要获得不同的随机数集,则应设置不同的种子。

您可能设置了相同的种子
时间(NULL)
对于两个调用,假设两个调用都在同一秒内被调用。如果要获得不同的随机数集,则应设置不同的种子。

您可能设置了相同的种子
时间(NULL)
对于两个调用,假设两个调用都在同一秒内被调用。如果你想得到不同的随机数集,你应该设置不同的种子。

种子只可能重复一次是不够的,我不这么认为,Joachim Isakson给了我我想要的答案,直截了当的回答这回答了你的问题吗问题?这和我上面的评论有什么不同?我说srand应该只被称为种子的一个可能的副本只有一次是不够的,我不这么认为,约阿希姆·伊萨克森给了我我想要的答案,直截了当的回答这回答了你的问题吗?这和我上面的评论有什么不同?我说srand应该只被称为种子的副本我不这么认为,约阿希姆·艾萨克森给了我我一直在寻找的答案,直截了当的回答:这回答了你的问题吗?这与我上面的评论有什么不同?我说,srand应该被称为“唯一可能的种子复制品,只有一次”,我不这么认为,约阿希姆·艾萨克森g请给我一个我一直在寻找的答案,直截了当的回答这是否回答了你的问题?这与我上面的评论有什么不同?我说srand应该只打一次电话