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

 
Previous Post Perl/펄] 특정 범위의 숫자(정수) 랜덤 출력: Random Range Min Max ...Java/자바] 특정 범위의 숫자(정수) 랜덤 출력: Random Range Min Max...윈도우 XP] 파일 아이콘 바꾸기, 변경 법; Windows File Icon Change...배치 파일] 여러 파일 이름 한꺼번에 바꾸기; 파일명 일괄 변경; Batch File Re...C언어] -1 (마이너스 1) 을, 16진수 헥사(Hex)로 표현하면?디렉토리 복사 이동, 폴더 카피 방법; 윈도우 탐색기로; Windows Explorer F...CSS 끄기, IE와 파이어폭스에서 스타일 시트 해제 방법; Style Sheet OffC언어 VC] 파일 속성; 읽기 전용 여부 판단 함수; is File Readonly?정규식] 줄바꿈 문자(개행문자; 엔터 키) 매치; CR-LF Enter Key Match ...Perl/펄 정규식] 줄바꿈 문자 제거, 개행 문자 삭제; Text File Remove ...

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

Sunday, February 04, 2007

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 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top