Difference between r1.1 and the current
@@ -1,35 +1,197 @@
 [새싹교실/2017/꽃밭/0501|◀이전수업]▒▒▒▒▒[새싹교실/2017/꽃밭/0516|다음수업▶]
[새싹교실/2017] [새싹교실/2017/꽃밭]
[[TableOfContents]]
= 사진 찍기!!! =
 
 = 수업 내용 =
 
 
 
 
     
 
 
 
 
 
 
 
 
 
 
{{{
			
	
== 혜민 ==
{{{
 
== 유진 ==
{{{
 
}}}
= 후기 =
== [이지수|물주는사람] ==
 
 
 
 
------------
[새싹교실/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<stdio.h>
   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 <stdio.h>
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<stdio.h>
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|다음수업▶]
2. 과제 ¶
- 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에서 함수를 사용할 때는 두 가지가 필요합니다. 함수 본체와 프로토타입이지요.
그것들을 소스코드에 다음과 같이 적어줘야합니다.
main에서 함수를 사용할 때는 두 가지가 필요합니다. 함수 본체와 프로토타입이지요.
그것들을 소스코드에 다음과 같이 적어줘야합니다.
   #include<stdio.h>
   void swap(int a[10], int x, int y); //프로토타입
   int main(){
      //함수 사용
   }
  void swap(int a[10], int x, int y){   //함수본체
     
     구현
  }
4.1. 이지수 ¶
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;
}
4.2. 현지 ¶
#include <stdio.h>
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;
}
4.3. 혜민 ¶
#include<stdio.h>
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;
}
4.4. 유진 ¶
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;
}













