[새싹교실/2017/꽃밭/0501|◀이전수업]▒▒▒▒▒[새싹교실/2017/꽃밭/0516|다음수업▶] [새싹교실/2017] [새싹교실/2017/꽃밭] [[TableOfContents]] = 수업 내용 = * 버블 소트 구현해보기 * 배열 매개변수 = 과제 = * swap 함수 구현하기 배열의 두 원소를 바꿔주는 swap함수를 구현하세요. 프로토타입 : {{{ void swap(int a[10], int x, int y) //배열 a의 x번 원소와 y번 원소를 서로 바꾸는 함수 }}} * Bubble Sort 코드 개선하기 우리가 구현한 버블소트에는 배열의 두 원소를 바꾸는 부분이 있습니다. {{{ temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; }}} 이 부분을 swap함수로 교체해보세요. swap함수를 사용해서 구현해보라는 얘기입니다. # 참고 사항 # main에서 함수를 사용할 때는 두 가지가 필요합니다. 함수 '''본체'''와 '''프로토타입'''이지요. 그것들을 소스코드에 다음과 같이 적어줘야합니다. {{{ #include void swap(int a[10], int x, int y); //프로토타입 int main(){ //함수 사용 } void swap(int a[10], int x, int y){ //함수본체 구현 } }}} = 과제 제출 = == 혜민 == == 유진 == == 현지 == = 실습 = * 버블 소트 == [이지수] == {{{ void swap(int a[], int x, int y); int main(){ int arr[10] = { 10, -3, 99, -8, 1, 7, 2, 5, 34, 21 }; printf("\n 정렬 전\n "); //show result for (int i = 0; i < 10; i++){ printf("%d ", arr[i]); } printf("\n"); //sorting for (int j = 8; j >= 0; j--){ for (int i = 0; i <= j; i++){ if (arr[i] > arr[i + 1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } } printf("\n 정렬 후\n "); //show result for (int i = 0; i < 10; i++){ printf("%d ", arr[i]); } printf("\n"); return 0; } }}} == 현지 == {{{ #include int main() { int arr[10] = { -1,2,8,-9,-10,6,5,4,3,0 }; int i, j, temp = 0; printf("정렬전"); for (i = 0; i < 10; i++) printf("%d ", arr[i]); printf("\n정렬후:"); for (i = 0; i < 10; i++) { for (j = 0; j< 9; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (i = 0; i < 10; i++) printf("%d ", arr[i]); printf("\n"); system("pause"); return 0; } }}} == 혜민 == {{{ #include int main() { int a[10] = { 2,8,4,1,0,9,6,3,7,13 }, b, i, j; printf("%d %d %d %d %d %d %d %d %d %d", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]); for (j = 0; j < 10; ++j) { for (i = 0; i < 9; ++i) { if (a[i] > a[i + 1]) { b = a[i]; a[i] = a[i + 1]; a[i + 1] = b; } } } printf("\n%d %d %d %d %d %d %d %d %d %d", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]); return 0; } }}} == 유진 == {{{ int main(){ int arr[10] = { -10, 3, -8, 9, 6, 11, 2, 3, 17, 0 }; int i, j; int b; printf("처음 배열 : \n"); for (i = 0; i < 10; i++) { printf("%d\t", arr[i]); } for (j = 0; j < 10; j++) { for (i = 0; i < 9-j; i++) { if (arr[i] > arr[i + 1]) { b = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = b; } } } printf("\n나중 배열 : \n"); for (i = 0; i < 10; i++) { printf("%d\t", arr[i]); } return 0; } }}} = 후기 = == [이지수|물주는사람] == 새싹들이 너무나 잘 이해해주고 따라주어서 기쁩니다 == 유진 == 이번에 저번에 해보았던 버블 소팅을 해봤는데, 저번에 발견하지 못한 오류를 찾아낼 수 있었다. 그 때는 완벽하게 성공한줄 알았는데 오류를 찾아낼 수 있어서 의미 있었다.^^ == 현지 == 저번에 혼자서 연습해봤을때는 잘 했었는데 이번에 한번 더 해보려니 헷갈리는 부분이 있었다. 그 부분을 바로잡을 수 있어서 좋았다. == 혜민 == 원래 정렬을 어떻게 하는 건지 교수님 수업을 들을 때까지만 해도 이해하지 못했는데 오늘 수업듣고 혼자 실습까지 하니까 완전히 이해가 되어서 기뻤다. ------------ [새싹교실/2017/꽃밭/0501|◀이전수업]▒▒▒▒▒[새싹교실/2017/꽃밭/0516|다음수업▶] [새싹교실/2017] [새싹교실/2017/꽃밭]