srand와 rand를 이용해 배열에 각각 다른수를 저장하도록 만드는 프로그램입니다.
들찬길
#include stdio.h
#include stdlib.h
#include time.h
#define MAX_SIZE 10
int main(void)
{
int i,j;
int gene_num;
int gene_num_array[MAX_SIZE] = {0,};
for(i=0; iMAX_SIZE; i++){
srand((unsigned int) time(0));
gene_num = rand()%100+1;
for(j=0; j=i; j++){ //인덱스 j를 따라 움직이는데 이때값이 0인 인덱스를 찾으면 그 인덱스에 생성된 번호를 투입.
if(gene_num_array[j] == 0) gene_num_array[j] = gene_num;
else if(gene_num == gene_num_array[j]){ // 생성한 번호와 기존 인덱스에 있는 번호가 같으면
srand((unsigned) time(0)) // 재생성
gene_num = rand()%100+1;
} elsecontinue; //j쪽 루프로 돌아서 다시 비교...
}
printf(%d ,gene_num_array[i]);
}
return 0;
}
이렇게 실행시키면 같은 숫자만 찍힙니다.
분명 다르게 할려는 조건을 이렇게까지 만들었는데도 실행결과가 한가지 수로만 찍히니 답답할 따름입니다...
어떻게 해결해야 할까요?
그리고 이 방법으로 랜덤하게 수를 생성시켜 보니까 일정 시간에 따라서 계속 똑같이 증가하는 형태로만 나타나고 있습니다.
컨트롤+f5로 실행 그리고 바로 키를 눌러 종료한후에 그 즉시 컨트롤+f5로 실행하면 제가 간격을 비슷하게 해서인지 3씩 계속 증가하는 식으로밖에 나타나지가 않더군요.
조금 더 디테일하게 수를 생성해내는 방법은 없을까요?
덧
번호 추출을 여러번 반복시키게 프로그램을 바꾸니까 이번엔 추출된 10개의 수가 매번 똑같게 반복됩니다. 이 방법가지 해결을 좀 봐야겠습니다.
-
이리온 2023-06-04
srand 함수는 main 함수 처음에 한 번만 있어야 됩니다.
-
회전력 2023-06-04
계속 증가하는건 난수를 제대로 입력을 안해서 입니다.
-
이든샘 2023-06-04
아.. 잘못됬군요.. gene_num = rand()%100+1; 가 아닙니다.
난수는 난수 = rand() % (종료값 - 시작값 + 1) + 시작값 입니다.
그런데 지금은 rand() % 종료값 과 1만 더한것 같습니다만..
죄송합니다. 도움이 되지 못해서.
저 초보 (퍽퍽)
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
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 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |
2691542 | /=의 용도를 알려주세요 ㅠㅠ! (2) | 아라 | 2025-04-14 |
2691510 | sizeof 연산자 질문입니다 (2) | 종달 | 2025-04-14 |
2691483 | 파일 오픈시 에러 질문드립니다. (2) | 호습다 | 2025-04-14 |
2691450 | [visual c++ 툴]기초 질문 (3) | 해긴 | 2025-04-13 |
2691393 | UNIX 시스템을 사용하려면 어떤 프로그램이 좋을까요? (5) | 든솔 | 2025-04-13 |