问题是我有两个不同的数组,但返回元素是相同的。这是一个基本问题,但我正在敲打我的头两个小时。我使用srand函数,这不是问题,至少我是这么认为的。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void swap(int *a, int *b);
int* napraviNiz(int n);
void stampajNiz(int niz[], int n);
void trazi(int niz1[], int niz2[], int n);
int main(int argc, char *argv[])
{
int n = 8;
srand(time(NULL));
int* niz1 = napraviNiz(n);
int* niz2 = napraviNiz(n);
// Stampaj niz
stampajNiz(niz1, n);
stampajNiz(niz2, n);
system("PAUSE");
return 0;
}
void swap(int *a, int *b)
{
int c = *a;
*a = *b;
*b = c;
}
void stampajNiz(int niz[], int n)
{
int i;
for(i = 0; i < n; i++)
{
printf("%d ", niz[i]);
}
printf("\n");
}
int* napraviNiz(int n)
{
int i;
int *niz = (int)malloc(n*sizeof(int));
/* Intializes random number generator */
for (i = 0; i < n; i++)
{
niz[i] = rand()%n; //uzima random indeks od 1 do i
}
return niz;
}
输出:
3 3 2 5 7 9 1 2
3 3 2 5 7 9 1 2