>> Random으로 숫자를 생성
설명 :
char 포인트 변수에 0~max범위까지의 숫자를 해당 길이 만큼 생성 후 반환
단, 생성된 숫자가 동일하면 새로 생성하여 서로 다른 숫자를 랜덤 생성 함.
참조 :
#include <time.h>
함수정의 :
사용 예:
설명 :
char 포인트 변수에 0~max범위까지의 숫자를 해당 길이 만큼 생성 후 반환
단, 생성된 숫자가 동일하면 새로 생성하여 서로 다른 숫자를 랜덤 생성 함.
참조 :
#include <time.h>
함수정의 :
void rndNumber(char* ret, int max, int length)
{
int i, j;
// init rand time
srand((unsigned)(time(0)));
// random generator number
for (i=0; i < length; i++)
{
ret[i] = (int)(max*rand()/(RAND_MAX+1.0));
// check number exists.
for (j=0; j < i; j++)
{
if (ret[i] == ret[j])
{
i -= 1;
}
}
}
}
{
int i, j;
// init rand time
srand((unsigned)(time(0)));
// random generator number
for (i=0; i < length; i++)
{
ret[i] = (int)(max*rand()/(RAND_MAX+1.0));
// check number exists.
for (j=0; j < i; j++)
{
if (ret[i] == ret[j])
{
i -= 1;
}
}
}
}
사용 예:
char* tvalue;
tvalue = (char *)malloc(sizeof(char)*10);
rndNumber(tvalue, 15, 10);
for (i = 0; i < 10; i++)
{
printf("value : %d \n", tvalue[i]);
}
>>
value : 4
value : 8
value : 2
value : 13
value : 10
value : 9
value : 0
value : 12
value : 14
value : 7
tvalue = (char *)malloc(sizeof(char)*10);
rndNumber(tvalue, 15, 10);
for (i = 0; i < 10; i++)
{
printf("value : %d \n", tvalue[i]);
}
>>
value : 4
value : 8
value : 2
value : 13
value : 10
value : 9
value : 0
value : 12
value : 14
value : 7
'Code Snippets > Function code' 카테고리의 다른 글
[C++] Hex to Decimal Convert (Multi characters) (0) | 2010.05.14 |
---|---|
[C++] Hex to Decimal Convert (0) | 2010.05.14 |