컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Sunday, February 04, 2007

C언어 VC] 특정 범위의 숫자(정수) 랜덤 출력: Random Range Min Max (rand)


C에서, rand 함수는 0에서 RAND_MAX (대부분의 경우 32767)까지의 정수를 반환합니다. 0에서부터 시작하는 것이 아니라, 파라미터로 지정해 준, 하한값과 상한값 사이의 숫자에서 난수를 출력하려면, 다음의 randomRange 함수를 사용하면 됩니다.

"상한값 - 1"까지가 아니라 정확히 상한값까지입니다. 즉, 2에서 5까지 지정했다면, 2, 3, 4, 5 이렇게 2~5를 출력합니다. 좀더 직관적으로 사용할 수 있게끔 하기 위해서입니다.

randomRange(하한값, 상한값)

이렇게 지정합니다.

지정해준 범위 내에서만, 난수 구하기 예제


소스 파일명: example.cpp
(비주얼 C용 소스입니다.)
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>

int randomRange(int n1, int n2);


int main(void) {
  srand(GetTickCount()); // 난수 발생기 초기화

  // -3에서 +3까지 범위의 정수를 랜덤하게 20개 출력
  for (int i = 1; i <= 20; i++)
    printf("%d\n", randomRange(-3, 3));


  return 0;
}




// 지정된 범위의 정수 1개를 램덤하게 반환하는 함수
// n1 은 "하한값", n2 는 상한값
int randomRange(int n1, int n2) {
  return (int) (rand() % (n2 - n1 + 1)) + n1;
}




컴파일 및 실행 결과 화면:
D:\Z>cl example.cpp && example.exe
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

example.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:example.exe
example.obj
2
-1
1
2
1
2
-2
1
0
-3
2
2
3
3
0
0
-3
-3
0
0

D:\Z>



▶▶ C언어] 랜덤 숫자 (난수 정수) 출력 - Random Numbers rand srand 함수

☞ C/C++ (VC++)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top