목차
(1) 다음 괄호 부분을 채우시오.
(2) 다음 소스에서의 에러를 찾아보고 수정하시오.
(3) 다음 이차원 배열에서 출력 값은 무엇인가?
(4) 다음 프로그램을 작성하시오.
A. 함수의 형식 인자로 다음과 같이 기술된 함수 swap()은 인자 두 정수를 서로 바꾸는 기능을 수행한다.
함수 swap()을 구현하여 결과를 알아보는 프로그램을 작성하시오.
B. 다음과 같은 이차원 배열을 초기화하여 각각의 원소의 값을 다음과 같이 수정하는 함수를 만들어 프로그램을 작성하시오.
C. 다음 배열 값을 오름차순으로 정렬(sorting)하는 프로그램을 작성하시오.
D. 두 이차원 배열의 더하기와 빼기를 수행하는 함수를 만들어 다음 배열을 이용하여 결과를 알아보시오.
E. 프로그램 예제의 두 행렬의 곱 프로그램을 수정하여, 다음 곱을 수행하도록 프로그램을 작성하시오
(2) 다음 소스에서의 에러를 찾아보고 수정하시오.
(3) 다음 이차원 배열에서 출력 값은 무엇인가?
(4) 다음 프로그램을 작성하시오.
A. 함수의 형식 인자로 다음과 같이 기술된 함수 swap()은 인자 두 정수를 서로 바꾸는 기능을 수행한다.
함수 swap()을 구현하여 결과를 알아보는 프로그램을 작성하시오.
B. 다음과 같은 이차원 배열을 초기화하여 각각의 원소의 값을 다음과 같이 수정하는 함수를 만들어 프로그램을 작성하시오.
C. 다음 배열 값을 오름차순으로 정렬(sorting)하는 프로그램을 작성하시오.
D. 두 이차원 배열의 더하기와 빼기를 수행하는 함수를 만들어 다음 배열을 이용하여 결과를 알아보시오.
E. 프로그램 예제의 두 행렬의 곱 프로그램을 수정하여, 다음 곱을 수행하도록 프로그램을 작성하시오
본문내용
빼기를 수행하는 함수를 만들어 다음 배열을 이용하여 결과를 알아보시오.
4.2 4.3 3.85.2 2.1 1.8
+(-)
3.7 1.5 0.73.2 1.4 2.9
#include
void mat_print(double (*mat1)[3],double (*mat2)[3]);
void add_print(double (*mat1)[3],double (*mat2)[3]);
void sub_print(double (*mat1)[3],double (*mat2)[3]);
void main()
{
double matrix1[][3] = {{4.2, 4.3 , 3.8},
{3.7, 1.5 , 0.7}};
double matrix2[][3] = {{5.2, 2.1 , 1.8},
{3.2, 1.4 , 2.9}};
mat_print(matrix1,matrix2);
add_print(matrix1,matrix2);
sub_print(matrix1,matrix2);
}
void mat_print(double (*mat1)[3],double (*mat2)[3])
{
int i=0,j=0;
printf("**************************\n");
printf(" <>\n");
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("%7.1lf", mat1[i][j]);
}
putchar('\n');
}
printf("**************************\n");
printf(" <>\n");
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("%7.1lf", mat2[i][j]);
}
putchar('\n');
}
}
void add_print(double (*mat1)[3],double (*mat2)[3])
{
int i=0,j=0;
printf("**************************\n");
printf(" <<행렬의 덧셈>>\n");
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("%7.1lf", mat1[i][j] + mat2[i][j]);
}
putchar('\n');
}
}
void sub_print(double (*mat1)[3],double (*mat2)[3])
{
int i=0,j=0;
printf("**************************\n");
printf(" <<행렬의 뺄셈>>\n");
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("%7.1lf", mat1[i][j] - mat2[i][j]);
}
putchar('\n');
}
printf("**************************\n");
}
E. 프로그램 예제의 두 행렬의 곱 프로그램을 수정하여, 다음 곱을 수행하도록 프로그램을 작성하시오
4.2 4.3 3.85.2 2.1
*3.2 1.4
3.7 1.5 0.7 1.5 3.6
#include
void mat1_print(double (*mat1)[3]); //matrix1 출력
void mat2_print(double mat2[][2]); //matrix2 출력
void mult_process(double mat1[][3],double mat2[][2],double result[][2]); //행렬의 곱 계산
void mult_print(double (*result)[2]); //행렬 곱 출력
void main()
{
double matrix1[2][3] = {{4.2, 4.3, 3.8},
{3.7, 1.5, 0.7}};
double matrix2[3][2] = { {5.2, 2.1},
{3.2, 1.4},
{1.5, 3.6}};
double result[2][2] = {0,};
mat1_print(matrix1);
mat2_print(matrix2);
mult_process(matrix1,matrix2,result);
mult_print(result);
}
void mat1_print(double (*mat1)[3])
{
int i=0,j=0;
printf("_____________________________________________\n");
printf("\t ★matrix1[2][3]행렬★\n\n");
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("\t%4.1lf", mat1[i][j]);
}
putchar('\n');
}
printf("_____________________________________________\n");
}
void mat2_print(double mat2[][2])
{
int i=0,j=0;
printf("\t ★matrix2[3][2]행렬★\n\n");
for(i=0; i<3; i++)
{
for(j=0; j<2; j++)
{
printf("\t%7.1lf", *(mat2[i]+j));
}
putchar('\n');
}
printf("_____________________________________________\n");
}
void mult_process(double mat1[][3],double mat2[][2],double result[][2])
{
int i=0,j=0,k=0;
for(i=0; i<2; i++)
{
for(j=0; j<2; j++)
{
for(k=0; k<3; k++)
{
*(result[i]+j) += mat1[i][k] * mat2[k][j];
}
}
}
}
void mult_print(double (*result)[2])
{
int i=0,j=0;
printf("\t ★두 행렬의 곱셈 결과★\n\n");
for(i=0; i<2; i++)
{
for(j=0; j<2; j++)
{
printf("\t%7.1lf", *(result[i]+j));
}
putchar('\n');
}
printf("_____________________________________________\n");
}
4.2 4.3 3.85.2 2.1 1.8
+(-)
3.7 1.5 0.73.2 1.4 2.9
#include
void mat_print(double (*mat1)[3],double (*mat2)[3]);
void add_print(double (*mat1)[3],double (*mat2)[3]);
void sub_print(double (*mat1)[3],double (*mat2)[3]);
void main()
{
double matrix1[][3] = {{4.2, 4.3 , 3.8},
{3.7, 1.5 , 0.7}};
double matrix2[][3] = {{5.2, 2.1 , 1.8},
{3.2, 1.4 , 2.9}};
mat_print(matrix1,matrix2);
add_print(matrix1,matrix2);
sub_print(matrix1,matrix2);
}
void mat_print(double (*mat1)[3],double (*mat2)[3])
{
int i=0,j=0;
printf("**************************\n");
printf(" <
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("%7.1lf", mat1[i][j]);
}
putchar('\n');
}
printf("**************************\n");
printf(" <
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("%7.1lf", mat2[i][j]);
}
putchar('\n');
}
}
void add_print(double (*mat1)[3],double (*mat2)[3])
{
int i=0,j=0;
printf("**************************\n");
printf(" <<행렬의 덧셈>>\n");
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("%7.1lf", mat1[i][j] + mat2[i][j]);
}
putchar('\n');
}
}
void sub_print(double (*mat1)[3],double (*mat2)[3])
{
int i=0,j=0;
printf("**************************\n");
printf(" <<행렬의 뺄셈>>\n");
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("%7.1lf", mat1[i][j] - mat2[i][j]);
}
putchar('\n');
}
printf("**************************\n");
}
E. 프로그램 예제의 두 행렬의 곱 프로그램을 수정하여, 다음 곱을 수행하도록 프로그램을 작성하시오
4.2 4.3 3.85.2 2.1
*3.2 1.4
3.7 1.5 0.7 1.5 3.6
#include
void mat1_print(double (*mat1)[3]); //matrix1 출력
void mat2_print(double mat2[][2]); //matrix2 출력
void mult_process(double mat1[][3],double mat2[][2],double result[][2]); //행렬의 곱 계산
void mult_print(double (*result)[2]); //행렬 곱 출력
void main()
{
double matrix1[2][3] = {{4.2, 4.3, 3.8},
{3.7, 1.5, 0.7}};
double matrix2[3][2] = { {5.2, 2.1},
{3.2, 1.4},
{1.5, 3.6}};
double result[2][2] = {0,};
mat1_print(matrix1);
mat2_print(matrix2);
mult_process(matrix1,matrix2,result);
mult_print(result);
}
void mat1_print(double (*mat1)[3])
{
int i=0,j=0;
printf("_____________________________________________\n");
printf("\t ★matrix1[2][3]행렬★\n\n");
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
printf("\t%4.1lf", mat1[i][j]);
}
putchar('\n');
}
printf("_____________________________________________\n");
}
void mat2_print(double mat2[][2])
{
int i=0,j=0;
printf("\t ★matrix2[3][2]행렬★\n\n");
for(i=0; i<3; i++)
{
for(j=0; j<2; j++)
{
printf("\t%7.1lf", *(mat2[i]+j));
}
putchar('\n');
}
printf("_____________________________________________\n");
}
void mult_process(double mat1[][3],double mat2[][2],double result[][2])
{
int i=0,j=0,k=0;
for(i=0; i<2; i++)
{
for(j=0; j<2; j++)
{
for(k=0; k<3; k++)
{
*(result[i]+j) += mat1[i][k] * mat2[k][j];
}
}
}
}
void mult_print(double (*result)[2])
{
int i=0,j=0;
printf("\t ★두 행렬의 곱셈 결과★\n\n");
for(i=0; i<2; i++)
{
for(j=0; j<2; j++)
{
printf("\t%7.1lf", *(result[i]+j));
}
putchar('\n');
}
printf("_____________________________________________\n");
}
추천자료
트리(tree)관련 프로그래밍 소스 모음 (C언어)
함수형 프로그래밍
가위바위보 C프로그래밍 프로젝트(단순 가위바위보프로그래밍이 아닌, 랭킹&사용자등록&a...
C로 배우는 프로그래밍 기초 - 컴퓨터와 프로그램
[c 프로그램 레포트] 자동 업데이트 프로그램 c프로그래밍
[JAVA언어] sic/xe 머신 시뮬레이터, 시스템 프로그래밍 과제
교수방법의 유형 고찰과 LOGO프로그래밍(로고프로그래밍)의 개념, LOGO프로그래밍(로고프로그...
커널 프로그래밍 기초
쉽게 풀어 쓴 C언어 익스프레스 프로그래밍 문제 3장,4장(홀수)
컴퓨터프로그래밍(경마게임)
c언어를 이용한 컴퓨터프로그래밍
[객체지향프로그래밍][객체지향]객체지향프로그래밍의 개요, 객체지향프로그래밍의 정의, 객...
프로그래밍 기초 - 변환명세 및 연산 이해
<<열혈강의 C 도전 프로그래밍 ONE 1장 솔루션>>열혈강의 C,도전 프로그래밍,문제풀이,솔루션...
소개글