rand 함수 질문입니다!!
연다홍
질문 제목 :rand 함수관련한 질문입니다.질문 요약 :rand함수에서 중복되지 않은 값을 얻는 방법과 명령어의전체적인 설명 부탁드립니다.질문 내용 :
1번 질문
#include stdlib.h
#include stdio.h
void main()
{
int a=0,i,b; // 여기서 a 값을 0으로 하는 이유가 뭔가요? 0으로 안하면 위의 사진과 같은 에러가 뜨긴하는데 무시하면
값은 나오더군요
srand(a);
for(i=0;i100;i++)
{
b=rand()%95+32;
printf(%c\n,b);
}
}
2번 질문
위의 명령과는 다르게 중복되지 않도록 사이트를 뒤져보았는데 정말 복잡한 것 같습니다. 그래서 개략적인 설명을 부탁드리고, 보다 간단한 표현(위의 명령에 추가해서)이 가능하면 조언좀 부탁드립니다. 그리고srand((unsigned)time(null)); 명령은 위의 srand(a);와 차이점이 무엇인가요? 단지 time함수를 사용하냐 안하냐 인가요?
#include stdio.h
#include stdlib.h
#include time.h
void main()
{
int i,j;
int random;
int num[100];
srand((unsigned)time(null));
for(i=0; i100; i++)
{
j=0;
while(1)
{
if(random == num[j])
{
random = rand()%95 + 32;
j=0;
}
else
j++;
if(random != num[j] && j==i)
{
num[j] = random;
break;
}
}
printf(%d ,num[i]);
}
}
-
쇼콜라데
중복하지 않는 숫자를 뽑는방법은,
뽑고 뽑은 숫자를 저장합니다.
그리고 다음 숫자를 뽑을때마다, 이미 뽑은 숫자인지 검사해서
- 이미 뽑은 숫자면 ,다시 뽑고 반복
- 이미 뽑은 숫자가 아니면 그 숫자를 선택 -
한빛
srand(a)와 srand (time(NULL)) 의 차이는,
srand( ) 괄호 사이의 값을 무얼 넣어주냐 차이입니다.
a값은 항상 같은 숫자가 됩니다.
그래서 프로그램 실행시 매번 같은 rand()값을 뽑아냅니다.
time(NULL)은 프로그램 실행시마다 다른 값을 줍니다.
그래서 프로그램실행시 매번 rand()값은 달라집니다. -
HotPink
값을 넣지 않은 변수를 사용하면 안되요
int a를 바로 다음줄에서 srand(a); 로 사용하기 때문에
어떤 숫자로 초기화 시켜야합니다
위소스에서는 0 으로 초기화 시켰네요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692483 | C언어 함수, Header | 떠나간그놈 | 2025-04-23 |
2692451 | 이 문제좀 풀어주세요 ^^ | 게자리 | 2025-04-23 |
2692424 | 2차원배열 자료입력질문이요! (1) | 똘끼 | 2025-04-22 |
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |