Difference between r1.3 and the current
@@ -1,4 +1,4 @@
[새싹교실/2017/꽃밭/0417|◀이전수업]▒▒▒▒▒[새싹교실/2017/꽃밭/0502|다음수업▶]
[새싹교실/2017/꽃밭/0417|◀이전수업]▒▒▒▒▒[새싹교실/2017/꽃밭/0501|다음수업▶]
[[TableOfContents]]= 사진 찍기!!! =
= 수업 내용 =
@@ -45,18 +45,60 @@
}}}
= 과제 제출 =
= 실습 2 : 행렬 곱셈 =
3X3 행렬 a와 b를 곱하여 c에 저장합니다.
{{{#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
{{{
int main(){
//행렬 초기화
//int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9} 이런 식으로 해도 된답니다~
int a[3][3] =
{ { 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 } };
}}}
== 유진 ==
{{{
int b[3][3] =
{ { 1, 0, -1 },
{ 0, 1, -2 },
{ 0, 0, -3 } };
//c는 0으로 초기화를 꼭 해주어야 합니다.
int c[3][3] = { 0 };
int i, j, k;
/* 만약 사용자로부터 입력을 받고 싶다면 이 부분을 추가하세요~
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
scanf("%d", &a[i][j]);
}
}
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
scanf("%d", &b[i][j]);
}
}
*/
for (k = 0; k < 3; k++){
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
c[k][i] += a[k][j] * b[j][i];
}
}
}
//print result
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
}}}= 후기 =
== [이지수|물주는사람] ==
@@ -69,5 +111,5 @@
------------
[새싹교실/2017/꽃밭/0417|◀이전수업]▒▒▒▒▒[새싹교실/2017/꽃밭/0502|다음수업▶]
[새싹교실/2017/꽃밭/0417|◀이전수업]▒▒▒▒▒[새싹교실/2017/꽃밭/0501|다음수업▶]
[새싹교실/2017] [새싹교실/2017/꽃밭]3. 실습 1 : sorting ¶
배열 a를 정렬해서 배열 result에 담는 코드
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main(){ int a[5], result[5]; int max = -999; int i, j, index; //get input for (i = 0; i < 5; i++){ scanf("%d", &a[i]); } //sorting for (j = 0; j < 5; j++){ for (i = 0; i < 5; i++){ if (a[i] > max){ //a 배열에서 현재 가장 큰 수를 max에 담는다. max = a[i]; index = i; //나중에 -999로 초기화하기 위해 현재 수의 번호(index)를 저장해놓는다. } } result[j] = max; //가장 큰 수를 result배열에 0번부터 4번까지 차례대로 담는다. a[index] = -999; //result배열에 담은 수는 -999로 초기화하여 다음에 max값을 계산할 때 또 걸리지 않도록 한다. max = -999; //max값 초기화 } //오름차순 출력 for (i = 4; i >=0; i--){ printf("%d ", result[i]); } printf("\n"); return 0; }
4. 실습 2 : 행렬 곱셈 ¶
3X3 행렬 a와 b를 곱하여 c에 저장합니다.
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main(){ //행렬 초기화 //int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9} 이런 식으로 해도 된답니다~ int a[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; int b[3][3] = { { 1, 0, -1 }, { 0, 1, -2 }, { 0, 0, -3 } }; //c는 0으로 초기화를 꼭 해주어야 합니다. int c[3][3] = { 0 }; int i, j, k; /* 만약 사용자로부터 입력을 받고 싶다면 이 부분을 추가하세요~ for (i = 0; i < 3; i++){ for (j = 0; j < 3; j++){ scanf("%d", &a[i][j]); } } for (i = 0; i < 3; i++){ for (j = 0; j < 3; j++){ scanf("%d", &b[i][j]); } } */ for (k = 0; k < 3; k++){ for (i = 0; i < 3; i++){ for (j = 0; j < 3; j++){ c[k][i] += a[k][j] * b[j][i]; } } } //print result for (i = 0; i < 3; i++){ for (j = 0; j < 3; j++){ printf("%d ", c[i][j]); } printf("\n"); } return 0; }