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 | 5734 |
공지 | 알고리즘 설계와 분석 - 기말고사 공지 | grmanet | 2018.12.04 | 5341 |
공지 | 알고리즘 설계와 분석 - 프로그래밍 숙제 2 [ 11/27 수정 ] | grmanet | 2018.11.19 | 5908 |
공지 | 질문 관련 | grmanet | 2018.10.18 | 5440 |
공지 | 알고리즘 설계와 분석 - 프로그래밍 숙제 1 ( 11 / 4 수정, late 기간 변경 ) | grmanet | 2018.10.18 | 6307 |
공지 | 알고리즘 설계와 분석 - 중간고사 공지 | grmanet | 2018.10.11 | 5508 |
공지 | 출결 현황 | grmanet | 2018.09.18 | 7764 |
공지 | 2018 2학기 알고리즘설계와분석 게시판입니다. | grmanet | 2018.09.18 | 5473 |
11 | 과제2 질문입니다 [1] | abc | 2018.10.31 | 786 |
10 | 과제2 Quick_Sort_P 관련 질문 [1] | 학생1 | 2018.10.31 | 1935 |
9 |
과제2 질문입니다.
[1] ![]() | 알고 | 2018.10.31 | 974 |
8 | 프로그래밍 과제 1번 질문 있습니다. [3] | 하.... | 2018.10.30 | 3633 |
7 | 과제2질문 [1] | sogang | 2018.10.30 | 991 |
6 | 프로젝트 1 질문이 있습니다. [1] | dtd | 2018.10.30 | 1065 |
5 | 프로그래밍 과제 1관련 질문입니다. [2] | Methodman | 2018.10.29 | 835 |
4 | 프젝 질문입니다 [1] | ㅇㅅㅇ | 2018.10.27 | 1087 |
3 |
프로젝트 질문입니다
[2] ![]() | ㅇㅅㅇ | 2018.10.27 | 1039 |
2 | 과제 1 질문 여기에 해도 되나요 [1] | 한국힙합망해라 | 2018.10.19 | 1173 |
1 | 프로젝트 언어는 어떤걸 써야되죠? c? c++? [1] | ㅇㅇ | 2018.10.18 | 1374 |
맨 위에 정의된 #define N 1<<5 이부분을 변경해주시면 배열의 Size가 변경됩니다. 1<<5는 0000 ... 0001 을 Left shift 해서 0000 .... 1 0000 을 만들어 32가 된다고 생각하시면 됩니다.
질문하신 코드의 경우는 RAND_MAX가 0x7fff ( 0 ~ 2^15 -1 )이기 때문에 데이터의 갯수가 2^15를 넘어갈 경우에 중복되는 숫자가 너무 많이 생겨 해당 부분을 주석 해체 하시고 데이터를 만드시면 된다는 뜻입니다.
감사합니다.