고수님들...부탁드립니다...rand()나 srand()를 사용하여..
글쓴이: k9252 / 작성시간: 화, 2003/06/03 - 8:11오후
rand()나 srand()를 사용하여.. 값을 출력하는 프로그램을 짜볼려고 하는데요..
아직 C에 대한 지식이 거의 없어서...부탁드립니다..
그니깐..좀 더 자세히 설명을 드리자면요..
rand()함수 돌릴때 seed값이 일정하잖아요..
그래서 seed값을 시스템의 time에 따라서 할려고 하는데요..
잘 안되네요..
좀 부탁드립니다..
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int n = 0; n = 1 + (int)(10.0*srand()/(RAND_MAX + 1.0)); printf("Random number is %d\n", n); return 0; }
지금하고 있는 정도입니다..
고수님들 꼭 부탁드립니다..
정 안되면 이 소스에서 무엇을 어떻게 왜 그 부분을 수정해야되는지..
초보자가 쉽게 알도록 설명 부탁드립니다..
Forums:
일단 다음과 같이 하면 동작할것입니다..#include <
일단 다음과 같이 하면 동작할것입니다..
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n = 0;
srand( time(NULL)) ;
n = 1 + (int)(10.0*rand()/(RAND_MAX + 1.0));
printf("Random number is %d\n", n);
return 0;
}
고수님..감사합니다..근데요...seed값을 찍어볼 수 있는지요?
seed값을 찍어볼수 있는지요?
그리고 seed값을 임의로 for문으로 돌려서 할 수도 있는지요?
방법 좀 갈켜주세용....자세히...부탁드립니다..
음...
srand는
void srand(unsigned int) 라는 함수형을 가지고 있어서..
인자로 넣어주는 값이 seed값이 됩니다..
그러니 원하시는 값을 직접 넣어주던지..for문으로 돌려주던지...
편한대로 하세요~
(위에서 인자로 time(null)이란 걸 쓴 이유는...현재시각을 seed값으로
해서 더욱 난수다운 난수를 발생시키기 위한 것입니다..^^)
세상은 견고하고 삶은 유희가 아니다...
커널이 지원한다면 다음의 방법으로 고품질(?)의 난수를 얻을 수 있습니다
커널이 지원한다면 다음의 방법으로 고품질(?)의 난수를 얻을 수 있습니다.
ㅡ_-) 그냥 사족이었습니다.
_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz
random에 대한 다른 질문입니다.
안녕하세요.
srand에서 시간을 씨드값으로 사용하지 않는 상황에서
random 함수에서 랜덤값을 생성할 때 시간이란 변수를 사용하나요?
예를 들어 10초후 random함수를 수행하여 생긴 결과와
20초후 random함수를 수행하여 생긴 결과가 다르나요?
OTL 즐!!!! (좌절 금지!!!)
댓글 달기