Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입

NOTICE

공지사항
더보기
  • 서버 안정성 및 보안 강화 조치 04.20

Recently Added Games

최근 등록 게임
  • 어드벤쳐 고철에 파묻힌 데모나 (屑鉄まとうデモナ) newfile 08.19
  • 어드벤쳐 비올레 저택의 시온 : 꽃눈의 저택|RPG Maker MZ 단편 심리공포 어드벤처 file 08.17
  • 기타 (똥 주의)그저 똥을 누러 가는 게임 Re:Boot updatefile 08.16
  • 롤플레잉 SACCHARINE SYNC (DEMO) 배포 file 08.12
  • 기타 (완성작) 야구장에 가자4 file 2 07.07
C언어
2009.01.14 18:26

[C언어] 난수에 대해

[Dark].Angel
조회 수 3838 추천 수 0 댓글 2
크게 작게 위로 아래로 댓글로 가기 인쇄
크게 작게 위로 아래로 댓글로 가기 인쇄

난수를 사용하기 위해서는

 

srand(( unsigned )time(NULL);

을 해주시면 됩니다. 하는건 자기 마음이겠죠? unsigned int 이렇게 사용하셔도 됩니다.

이렇게 해주셨으면 난수 발생의 범위를 지정해야합니다.

 

난수 발생의 범위를 지정하는 방법은 이렇습니다.


변수 = rand() % (종료 값 - 시작 값 + 1) + 시작 값

100부터 1000 사이의 난수를 발생시키려면
변수 = rand() % (1000 - 100 + 1) + 100
간단히 하면
변수 = rand() % (901) + 100
이렇게 되지요.

 



이건 난수 1,000개를 발생시켜서 최소값, 최대값 출력하는 소스.

  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <conio.h>  
  4. #include <time.h>  
  5. int main()  
  6. {  
  7.      int a;  
  8.      int start,end;  
  9.      int max,min;  
  10.      int count;  
  11.        
  12.      srand((unsigned)time(NULL));  
  13.        
  14.      printf("시작 : ");  
  15.      scanf("%d",&start);  
  16.      printf("종료 : ");  
  17.      scanf("%d",&end);  
  18.        
  19.      min=end;  
  20.      max=start;  
  21.        
  22.      for(count=0;count<1000;count++)  
  23.      {  
  24.           a=rand() % (end - start + 1) + start;  
  25.           printf("%4d ",a);  
  26.             
  27.           if(min > a)  
  28.                  min=a;  
  29.           if(max < a)  
  30.                  max=a;  
  31.      }  
  32.        
  33.      printf("n최소 : %d",min);  
  34.      printf("n최대 : %d",max);  
  35.        
  36.      getch();  
  37.      return 0;  
  38. }  
0 추천 0 비추천
위로 아래로 댓글로 가기 인쇄
에디터 선택하기
✔ 텍스트 모드 ✔ 에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Comment '2'
  • ?
    곤네꼬 2009.01.28 18:51

    저는 100부터 1000까지시 rand()%100+1000 으로 배웟습니다. << 정확하지않음

    그리고 unsigned 가 아닌 unsigned int으로 배웟는데요. << srand(unsigned int)time(NULL)); << 이거 아닌가요?
    제가 틀렷나요?

    댓글
  • ?
    Last H 2009.02.14 19:37
    음 매우 지난 뒤의 답변이지만 님이 첫번째 쓰신 형태로도 사용합니다만
    그렇게 사용할 시 진정한 의미에서의 랜덤숫자가 성립되지 않습니다.
    난수라지만 일정 패턴을 가져버리죠 즉 저렇게 프로그램을 돌리면 숫자가
    (190,420,145)  <-- 이런식으로 무작위로 나온다고 치면
     다음에 프로그램을 틀어도 (190,420,145) 로 나옵니다. 즉 패턴을 유지하죠
    그래서 이 강좌에서 처럼 주로 타임함수를 호출해서 타이머를 사용합니다. 이때 PC의 타이머 클럭은 CPU속도에 준하기 때문에
    요새 컴퓨터로 약 3기가의 CPU속도라면 같은 패턴을 지는 난수가 나올 확률은 한없이 0에 가깝게 되죠.
    p.s 3기가라면 1초에 3x10^9번의 주기를 갖는 다는겁니다.

    두번째로 unsigned int 라는건 unsigned와는 다른 겁니다 이미 unsigned라는 문장 자체는 일종의
    명령어입니다. 뜻은 간단히 말해 자연수만 받겠다는거죠 즉
    음수를 처리하지 않겟다는 의미입니다. 과거엔 RAM의 사양상 unsigned int를 통해 자연수를 더욱 큰 수까지 입력 받으려고
    주로 사용하였으나 최근엔 일반 프로그래밍에선 그다지 따지지 않습니다. 램이 차고 넘치거든요.
    각종 페이징 기법같은 메모리 관리 방식도 발전해서 효율도 높아졌고요.
    물론 임베디드 관련으로 쓰일땐 자료구조적으로 가장 효율적으로 할 수록 더 작은 기계에 더 많은 기능을 집어 넣을 수 있기때문에
    중요하지만요.
    댓글

Category
  • css
  • C언어
  • XpressEngine
  • 게임기획
  • Vegas Pro
  • 시네마4D
  • 어도비 프리미어
  • 에프터 이펙트
    • 템플릿
    • 플러그인
  • 웹디자인 관련
  • 플래시
  • 기타
  • 메이킹 영상
  • OSX (맥)
  • 어플개발
  • 파이널컷X
List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 2444
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 1848
파이널컷X [파이널 컷 X] 편집중 하드디스크 용량이 부족할때 랜더파일 삭제로 용량을 확보하자 아방스 2017.12.16 561
파이널컷X [파이널컷 프로 X] 10분만 투자해 기본편집부터 출력까지 배워봅시다. 아방스 2017.10.26 456
Vegas Pro [베가스 프로 15] 10분 안에 기본편집부터 출력까지 배워봅시다. 아방스 2017.09.28 525
어도비 프리미어 [프리미어 프로] 아무것도 몰라도 영상편집 할수 있다! 아방스 2017.09.28 479
Vegas Pro [베가스 프로 15] 추가된 새로운 기능 "픽처 인 픽처" 아방스 2017.09.27 396
Vegas Pro [베가스 프로 15] 트라이얼 버전 설치 방법 아방스 2017.09.06 1450
에프터 이펙트 [에프터이펙트 강좌] 프리미어 템플릿으로 내보내기 아방스 2017.08.01 654
에프터 이펙트 [에펙] 자막바 길이가 자동으로 조절되도록 만들어봅시다! 아방스 2017.08.01 714
어도비 프리미어 [프리미어 프로 cc 2017.1 강좌] 영상에 줌인 줌아웃 효과 주기 아방스 2017.08.01 1550
어도비 프리미어 [프리미어프로cc2017.1] 애니메이션 자막 템플릿 만들어보기 아방스 2017.08.01 570
어도비 프리미어 [프리미어프로cc2017.1] 자막바 길이자동 조절 ver. 2 file 아방스 2017.08.01 580
어도비 프리미어 [프리미어프로cc2017.1] 제목 메뉴와 자막 템플릿이 사라졌어요! 아방스 2017.08.01 1095
어도비 프리미어 [프리미어 프로 cc 2017.1] 새로운 기능 "문자도구" 설명 아방스 2017.08.01 1510
어도비 프리미어 [프리미어프로cc2017] 자동으로 길이 조절 되는 자막 바 file 아방스 2017.08.01 5126
어도비 프리미어 [프리미어cc2017] 프록시 편집에 대해서 아방스 2017.08.01 891
어도비 프리미어 [프리미어 프로 cc2017 강좌] 멀티캠 편집 방법 아방스 2017.08.01 976
어도비 프리미어 [프리미어 프로 cc2017 강좌] 오류 해결방법 '파일에 오디오 또는 동영상 스트림이 없습니다.' 아방스 2017.08.01 1547
어도비 프리미어 [프리미어 CC2017 강좌] 줌인드랜지션 무료 템플릿 (적용 및 사용법) file 아방스 2017.08.01 907
어도비 프리미어 [프리미어 프로 CC2017 강좌] 영상의 확대 축소 마음대로 하기 (매드무비제작) 아방스 2017.08.01 722
어도비 프리미어 [프리미어 프로 강좌] 서서히 원하는 색으로 물들이기 아방스 2017.08.01 296
쓰기
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19
AVANGS

게임 제작, 창작, 자료, 강좌를 연결하는 커뮤니티

  • 개인정보 취급방침

Copyright © 2026 Avangs