반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

bro's coding

배열을 이용한 행렬곱 본문

[IT]/C++

배열을 이용한 행렬곱

givemebro 2020. 3. 12. 10:01
반응형
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void insert(int mat1[4][3], int mat2[3][2]) {
	for (int i = 0; i < 4; i++) {
		for (int j = 0; j < 3; j++) {
			mat1[i][j] = i * 3 + j;
			if (i < 3 && j < 2) {
				scanf("%d", &mat2[i][j]);
			}
		}
	}
	for (int i = 0; i < 4; i++) {
		for (int j = 0; j < 3; j++) {
			printf("  %3d", mat1[i][j]);
		}
		puts("");
	}
	puts("");
	puts("");

	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 2; j++) {
			printf("  %3d", mat2[i][j]);
		}
		puts("");
	}
	puts("");
	puts("");

}
void mul(int mat1[4][3], int mat2[3][2], int result[4][2]) {
	for (int i = 0; i < 4; i++) {
		for (int j = 0; j < 2; j++) {
			for (int k = 0; k < 3; k++) {
				result[i][j] += mat1[i][k] * mat2[k][j];
			}
		}
	}
}
void printresult(int result[4][2]) {
	for (int i = 0; i < 4; i++) {
		for (int j = 0; j < 2; j++) {
			printf("  %3d ", result[i][j]);
		}
		puts("");
	}
}
int main() {
	int mat1[4][3], mat2[3][2], result[4][2] = { {0,0}, };
	memset(result, 0, sizeof(int));
	insert(mat1, mat2);
	mul(mat1, mat2, result);
	printresult(result);
	return 0;
}
/*
1
0
0
0
1
1
*/

반응형

'[IT] > C++' 카테고리의 다른 글

C.섭씨를 화씨로 변환하는 프로그램  (0) 2021.03.18
우분투 단축키 설정  (0) 2020.03.16
리눅스 기초  (0) 2020.03.16
5*5행렬에 3*3필터 적용하기  (0) 2020.03.12
void pointer를 활용한 함수(function)  (0) 2020.03.12
구조체 안에서 함수 사용하기  (0) 2020.03.11
memset / memcpy 활용  (0) 2020.03.11
strtok의 활용  (0) 2020.03.11
Comments