수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

중복되는 수에 관하여.

틀큰

2023.04.01

#includestdio.h
#includestdlib.h
#includetime.h
main()
{
int temp;
int i,j;
int num[12];

srand( (unsigned ) time(0) );
for(i = 0; i 12; i++)
{

num[i] = rand() % 20 ;}
for(i = 0; i 12; i++)
printf(%d , num[i]);
puts();
temp = 0;
for(i = 0; i 12; i++)
if(num[i] temp)
temp = num[i];

printf(%d\n,temp);}
난수가 발생이 됩니다. 근데 문제는 이걸 어떻게 해서 중복 되는 숫자를 막아야 될지 모르겟습니다.

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 파라미

    작은 숫자의 범위에서 제가 쓰는 방법은 이렇습니다.
    추출할 범위의 수가 0~19까지라고 한다면 [20] 배열에 0~19까지 넣습니다.
    그리고 index변수를 20으로 세팅하고 램덤수를 index범위 안에서 뽑아서 해당되는 위치의 배열에
    기록된 값을 꺼내고 해당되는 위치 +1 위치의 값부터 값을 앞쪽으로 쉬프트 시킵니다.
    그리고 index 값은 -1 시키죠. 저는 이런 방법을 사용한 적이 있습니다. ^^

  • 미리별

    이 부분은 여러번 답변 하는거 같네요.
    가장 단순한 방법은 이미 나온 수인가 확인하는 방법이 가장 초보적인 방법이지만...
    추출할 범위는 좁고 추출할 수는 많다면 중복되는 횟수가 많아지며,
    매번 검색하는 속도때문에 퍼포먼스가 나오지 않습니다.
    이런식으로 로또나 위 님처럼 추출 범위가 정해져있고
    그 범위가 크지 않은경우에는 무작위 랜덤보다는
    범위의 수를 미리 추출하신뒤 뒤섞는 셔플 기법을 사용하시기 바랍니다.

  • 찬솔

    저도 예전에 텔레뚱님 말씀처럼 랜덤수가 나오면 배열에 차곡 차곡 넣는데 그전에 중복 검사를 했었죠.. 근데 3~4개의 숫자를 뽑는다면야 위 알고리즘이 나을지 모르나.. 로또 처럼 40개 이상의 중복 없는 수를 뽑을 경우 속도면에서 약간 떨어지지 않을까요? 제 기억으론 잠깐 동안 다운(?)되는 듯한 증상을 보인적이 있었던거 같은데.. 뭔가 획기적인게 있지 않을까요.. ^-^

  • 울트라

    C나 C++은 잘 모르겠지만 난수 하나 발생 할 때마다 그 전까지 나왔던 수와 비교애서 같으면 다시 난수 밸생을 하고 비교하고, 같지 않으면 그대로 사용하는 알고리즘이 낫지 않을런지요?

번호 제 목 글쓴이 날짜
2701151 사이트작업시 inputbox 가 readonly 형태표시 어떻게 하시나요? (1) 찬내 2025-07-11
2701123 간단한 select 질문입니다 (3) 천사의눈물 2025-07-11
2701061 비베질문.. 똘끼 2025-07-10
2701034 메일폼 내 script 삽입가능한 방법 없을까요.. (2) 마음새 2025-07-10
2701008 분명히 버튼을 만들었는데 액션이 안걸립니다. (3) 재찬 2025-07-10
2700923 전체중앙정렬&독타입&쿼크모드 ㅜㅠ (8) 푸른들 2025-07-09
2700893 질문드리겠습니다. 도도한 2025-07-09
2700793 무비클립에 마우스 오버시 랜덤으로 효과음 나기는 어떻게 ;; (1) 바닐라 2025-07-08
2700741 웹전송? (2) 연와인 2025-07-07
2700686 카테고리 호버시 세부카테고리 보이게하는 것, css로만 가능할까요?? (3) 다힘 2025-07-07
2700658 메타태그 질문드립니다..ㅠㅠ;;; 모해 2025-07-07
2700632 외부에서 이미지 파일을 불러와야 합니다. 도와주세요. (4) 에일린 2025-07-06
2700579 (air + as3) smtp 이용해서 첨부파일 포함해서 메일 보내기 물보라 2025-07-06
2700524 클릭시 밑에 메뉴 나오게 (4) 새솔 2025-07-05
2700505 activex를 비쥬얼6.0으로 만들었는데요 비스타 배포시에 안되서 질문드립니다 (3) 참이 2025-07-05
2700452 c언어에서... 자료형 구분.... (3) 시내 2025-07-05
2700422 버전에 관해 질문 라온제나 2025-07-04
2700393 mysql이 갑자기!!!!!!!!!!!!!!!에러가;; (2) 소미 2025-07-04
2700359 3.0 ) SimpleButton 상태 강제 변경 (3) 희선 2025-07-04
2700304 ie8 전용핵 문의 (3) 여자 2025-07-03
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com