if (temp != 0) {
temp = temp << 15;
temp += (int)rand();
}
이 주석부분에서 random 데이터가 2^15개가 아니라 2^30개가 나오는지 잘 모르겠습니다
그리고 이 파일로 생성된 랜덤데이터를 제공해주신 버블정렬할 경우
총 size 32의 배열이 생성되는데 왜 그런건가요??
2018.11.03 16:40
2018.11.03 16:48
그러면 #define N 1<<17 로 변경했을 때
temp = temp <<20정도로 하면 문제가 발생하지 않는다는 말씀인가요?
2018.11.03 16:52
1<<?? 에서 ??가 15를 넘어갈 때 주석을 해제해 주시면 되는데 temp << 15는 그대로 유지해주시는게 좋습니다.
20을 하게되면 최대 2^15에서 20칸을 옮기기 때문에 2^35가 되어 int형 범위를 넘어갑니다.
따라서 temp<<15이부분은 변경 안하시는게 좋습니다.
그냥 1<< ?? 이부분만 적당히 변경해서 적당한 size의 데이터들을 가지고 실험하시면 되겠습니다.
2018.11.03 16:55
네 감사합니다!
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 알고리즘 설계와 분석 - 프로그래밍 숙제 3 | grmanet | 2018.12.11 | 5663 |
공지 | 알고리즘 설계와 분석 - 기말고사 공지 | grmanet | 2018.12.04 | 5249 |
공지 | 알고리즘 설계와 분석 - 프로그래밍 숙제 2 [ 11/27 수정 ] | grmanet | 2018.11.19 | 5827 |
공지 | 질문 관련 | grmanet | 2018.10.18 | 5342 |
공지 | 알고리즘 설계와 분석 - 프로그래밍 숙제 1 ( 11 / 4 수정, late 기간 변경 ) | grmanet | 2018.10.18 | 6205 |
공지 | 알고리즘 설계와 분석 - 중간고사 공지 | grmanet | 2018.10.11 | 5394 |
공지 | 출결 현황 | grmanet | 2018.09.18 | 7671 |
공지 | 2018 2학기 알고리즘설계와분석 게시판입니다. | grmanet | 2018.09.18 | 5394 |
8 | 과제 4 입력 질문입니다 [1] | 종강종강 | 2018.12.25 | 2556 |
7 | 과제4 정렬관련 질문입니다. [1] | ㅠㅠ | 2018.12.24 | 2645 |
6 | 마지막 과제 질문 [6] | 멋쟁이 프로도 | 2018.12.23 | 2656 |
5 | 과제4 질문입니다. [1] | 갈매기 | 2018.12.24 | 2671 |
4 | Apa Itu Safelink? | PrinceHolly213792856 | 2019.03.20 | 2776 |
3 | Find The Right Driving Instructors And The Right Driving Courses | Adriene3499955859565 | 2019.03.20 | 2846 |
2 | Is Cialis Safe To Treat Impotence Caused By Hypertension? | BrookeKrueger4266690 | 2019.03.20 | 2960 |
1 | 프로그래밍 과제 1번 질문 있습니다. [3] | 하.... | 2018.10.30 | 3625 |
맨 위에 정의된 #define N 1<<5 이부분을 변경해주시면 배열의 Size가 변경됩니다. 1<<5는 0000 ... 0001 을 Left shift 해서 0000 .... 1 0000 을 만들어 32가 된다고 생각하시면 됩니다.
질문하신 코드의 경우는 RAND_MAX가 0x7fff ( 0 ~ 2^15 -1 )이기 때문에 데이터의 갯수가 2^15를 넘어갈 경우에 중복되는 숫자가 너무 많이 생겨 해당 부분을 주석 해체 하시고 데이터를 만드시면 된다는 뜻입니다.
감사합니다.