c로 배우는 프로그래밍 기초 14장 이해점검 풀이
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

c로 배우는 프로그래밍 기초 14장 이해점검 풀이에 대한 보고서 자료입니다.

목차

(1) 다음 괄호 부분을 채우시오.

(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");
}
  • 가격2,000
  • 페이지수13페이지
  • 등록일2006.11.24
  • 저작시기2006.11
  • 파일형식한글(hwp)
  • 자료번호#376228
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니