[c++] 배열과 포인터를 사용한 행렬 연산
배열과 포인터는 C++에서 행렬 연산을 수행하는 데 중요한 도구입니다. 이러한 도구들을 사용하면 메모리를 효율적으로 사용하고 행렬 연산을 보다 효율적으로 수행할 수 있습니다.
1. 배열을 사용한 행렬 연산
#include <iostream>
using namespace std;
int main() {
int A[2][2] = { {1, 2}, {3, 4} };
int B[2][2] = { {2, 0}, {1, 2} };
int C[2][2];
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 2; j++) {
C[i][j] = A[i][j] + B[i][j];
cout << C[i][j] << " ";
}
cout << endl;
}
return 0;
}
위의 예제에서는 2x2 행렬 A와 B를 선언하고, 이를 이용하여 덧셈 연산을 수행한 후 행렬 C에 저장합니다.
2. 포인터를 사용한 행렬 연산
#include <iostream>
using namespace std;
int main() {
int A[2][2] = { {1, 2}, {3, 4} };
int B[2][2] = { {2, 0}, {1, 2} };
int C[2][2];
int *ptrA = &A[0][0];
int *ptrB = &B[0][0];
int *ptrC = &C[0][0];
for(int i = 0; i < 4; i++) {
*(ptrC + i) = *(ptrA + i) + *(ptrB + i);
cout << *(ptrC + i) << " ";
if((i+1) % 2 == 0) cout << endl;
}
return 0;
}
위의 예제에서는 포인터를 사용하여 2x2 행렬의 연산을 수행합니다. 포인터 연산을 통해 각 요소에 직접 접근하여 연산을 수행합니다.
배열과 포인터를 사용한 행렬 연산을 통해, 행렬 연산을 더욱 효율적으로 수행할 수 있습니다.