>> Random으로 숫자를 생성

설명 :
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;
            }
        }
    }
}


사용 예:
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


'Code Snippets > Function code' 카테고리의 다른 글

[C++] Hex to Decimal Convert (Multi characters)  (0) 2010.05.14
[C++] Hex to Decimal Convert  (0) 2010.05.14
Posted by 혀나미
,