상등
: 두 행렬의 크기가 같고 각각 대응하는 성분이 모두 같은 두 행렬
아래 두 행렬은 상등이다.
C++로 구현하기
메소드 오버라이딩을 통해 행렬의 상등 연산을 구현해보자.
#include <iostream>
#include "matrix.h"
using namespace std;
int main() {
Matrix m1(3, 4);
Matrix m2(3, 4);
Matrix m3(3, 3);
if (m1 == m2) printf("m1과 m2는 같은 행렬\n");
else printf("m1과 m2는 다른 행렬\n");
if (m2 == m3) printf("m2과 m3는 같은 행렬\n");
else printf("m2과 m3는 다른 행렬\n");
return 0;
}
...
class Matrix {
int **mat;
int row;
int col;
public:
...
int operator==(Matrix &m) {
if (row != m.getRow() || col != m.getCol()) return 0;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
if (mat[i][j] != m.getElement(i, j))
return 0;
}
}
return 1;
}
...
};
...
'Computer Science > 선형대수 with C++' 카테고리의 다른 글
[C/C++] 전치 행렬 (0) | 2024.05.02 |
---|---|
[C/C++] 단위행렬, 영행렬 (0) | 2024.05.02 |
[C/C++] 행렬 (0) | 2024.05.02 |