1~20 사이 랜덤으로 생성
생성된 숫자가 int 10개짜리 배열 안에 있는값이면 다시 생성
중복되지 않는 숫자를 10개 생성하기
gen(); 은 1~20 사이 랜덤으로 생성하는 함수임
int arr+ = { 1,2,4,7,9,10,11,14,15,16};은 10개짜리 배열임
지금 머리 터질거같음 break막쓰고 하는데 미쳐가고있음
나좀 살려줘
1~20 사이 랜덤으로 생성
생성된 숫자가 int 10개짜리 배열 안에 있는값이면 다시 생성
중복되지 않는 숫자를 10개 생성하기
gen(); 은 1~20 사이 랜덤으로 생성하는 함수임
int arr+ = { 1,2,4,7,9,10,11,14,15,16};은 10개짜리 배열임
지금 머리 터질거같음 break막쓰고 하는데 미쳐가고있음
나좀 살려줘
저라면 int arr[21] = {0,} 선언하고 없으면 0, 있으면 1 한다음에
gen에서 나온 숫자를 num이라고 하면 arr[num]을 참조해서 0이면 넘어가고 1이면 다시 만들고 이렇게 할듯
오 그것도 좋은 방법이다.
너도 나처럼 심각한 무재능충이구나
arr=(1~20)arrcmp[10];i=rand()%20+1;Int j;For(t 10번반복 ){J=arr[i]arr[i]=arr[t]arr[t]=JCmparr[t]=arr[i]}Cmparr
뭐야 안되자너
뭘어떻게했길래 안돼냐
srand(time(NULL)); int arr[20] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; int arrcmp+ = {0,}; int i=rand()%20+1; int j; int t; for(t=0;t<10;t++ ) { j=arr[i]; arr[i]=arr[t]; arr[t]=j; arrcmp[t]=arr[i]; } for(i=0; i<10; i++) { printf("%d\n", arrcmp[i]); }이거 아님?
와 난 이게 이렇게 복잡한건지 몰랐다 쉽게 봤는데;;
Arrcmp[t]=arr[i]를 프린트 반복문에 넣으셈
와 됐다ㅎㅎ 진짜 고맙다. 이렇게 하는건지 생각도 못하고있었어!
해당 댓글은 삭제되었습니다.
응 이거맞다. 답을 알고 봐도 복잡하다ㅎ. 진짜 쉽게 봤는데 아니었어ㅎㅎ
chat gpt로 확인하셈 물론 코드 리뷰해서 니껄로만들고 니덕에 나도 여러개 배움 떙큐 ㅋㅋ
내가 쓴건 rand() 함수 그리고 srand 함수와 time을 써서 rand() 난수가 여러번 바뀔 수 있게 하는 것, arrcmp 안쓰고 기본 구분으로 썼는데 나는 | 10개가 랜덤으로 생성되게 하는데 일단 하나 생성되면 그 생성된 것이 do{rand()생성} while을 통해서 이전에 생성된 배열값과 같은지 확인하고 같으면 한 번더 반복 작업을 거치고(return 1을 하면댐 0만 아니면 while은 돌아가니까) 그 이후에 난수가 모두 다른 값이라고 나오면 do while 종료 시켜서 배열에 하나 더 추가하고