[C언어] stdlib.h time.h을 이용한 랜덤값 만들기

2021. 1. 5. 20:49·Language/C&C++

블로그 참고

[C언어/C++] rand, srand, time 랜덤함수에 대해서 (난수생성)

안녕하세요. BlockDMask 입니다. 오늘은 C/C++로 개발할때 가끔 사용하는 랜덤한 수(난수)를 생성하는 함수에 대해서 알아보겠습니다. 랜덤한 값을 가지고올때 필요한데요. 그럼 시작해보겠습니다. 1

blockdmask.tistory.com



랜덤숫자 만들기

>필요한 명령은 딱 세가지

1. rand()

2. srand(어떤값:  시드)

3.time(NULL)


>rand()는 일단 랜덤한 숫자를 내보낸다.

하지만.. 프로그램 자체를 하나 실행할 때마다.

규칙이 있는 랜덤한 숫자를 만들어 나갈 수 있다

즉, 아까 나왔던 순열이 프로그램 껐다가 다시 실행하는데 있어서

똑같이 나올 수 있다.

ex)

처음 실행할떄

8 7 29 34 12 43

두번째 프로그램 실행에서도

8 7 29 34 12 43

이런식으로..


이러한 숫자는 코드에 srand()가 쓰여 있던 없던

srand(어떤값 : 시드) 에들어있는

시드값이 같아진다면

rand()의 다음 반복적인 명령어 실행에서 늘 같은 값이 나오고


시드값이 늘 달라진다면

rand()실행에서 불규칙적인 값이 나온다. 즉 랜덤이 나온다.

>절차

늘 rand()를 실행하기전에

srand(time(NULL))을 넣어준다고 생각하자


srand(time(NULL))한뒤, rand() 실행

이 다음에 나올 rand의 값은 늘 달라진다.


범위지정.

rand()는 0~32767 사이의 값을 내보내므로

rand()%N (N = '원하는 최대범위 값')


>1.printf하기

srand(time(NULL));


[for while 이든 반복문..]

printf("%d", rand()%N);


>2.배열 arr에 넣기

srand(time(NULL));


[for while 이든 반복문..]

arr[i] = rand()%N;


 

저작자표시 (새창열림)

'Language > C&C++' 카테고리의 다른 글

[2021_스터디][백준 20540번] 연길이의 이상형  (0) 2021.01.17
스터디 1일차_[백준9012 괄호]  (0) 2020.02.21
'Language/C&C++' 카테고리의 다른 글
  • [2021_스터디][백준 20540번] 연길이의 이상형
  • 스터디 1일차_[백준9012 괄호]
니앙팽이
니앙팽이
  • 니앙팽이
    니앙팽이 블로그
    니앙팽이
  • 전체
    오늘
    어제
    • 분류 전체보기 (126)
      • 그림그리기 (7)
      • 음악 (4)
        • FL Studio & MIDI (2)
        • 자작곡 (2)
      • 게임 (7)
        • 모바일 (0)
        • 스팀 (0)
        • 닌텐도 (0)
        • 개발 (7)
      • CS (44)
        • SW 공학 (27)
        • DB (7)
        • OS (9)
        • 네트워크 (1)
      • 팁 (9)
      • Language (21)
        • C# (8)
        • C&C++ (3)
        • 파이썬 메모 (3)
        • Javascript (7)
      • PS (0)
        • 알고리즘 (24)
        • 자료구조 (8)
        • 수학 (1)
        • 선형대수 (0)
        • 오토마타 (1)
        • 이산수학 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Javascript
    객체지향개발
    자료구조
    Stack
    unity
    알고리즘
    그림 연습
    c#
    디자인패턴
    파이썬
    가비지 콜렉터
    노마드 코더
    프로세스
    KAKAO
    유니티
    클립 스튜디오
    따라그리기
    clip studio paint
    프로그래머스
    연결리스트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
니앙팽이
[C언어] stdlib.h time.h을 이용한 랜덤값 만들기
상단으로

티스토리툴바