[C++] 백준 7단계 - 2738번 문제 (행렬 덧셈)자료구조 & 알고리즘/BOJ2023. 4. 17. 17:44
Table of Contents
문제설명
소스코드
#include <iostream>
using namespace std;
int main() {
int N; int M;
cin >> N >> M;
int** arr = new int* [N]; //2차원 배열 동적할당을 위한 더블 포인터 선언
for (int i = 0; i < N; i++) arr[i] = new int[M]; //배열이 배열을 가리킴
int** arr2 = new int* [N]; //2차원 배열 동적할당을 위한 더블 포인터 선언
for (int i = 0; i < N; i++) arr2[i] = new int[M]; //배열이 배열을 가리킴
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j) cin >> arr[i][j]; //첫 번째 배열 입력받음
}
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j) cin >> arr2[i][j]; //두 번째 배열 입력받음
}
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)cout << arr[i][j] + arr2[i][j] << " ";
cout << endl;
}
}
풀이
int** arr = new int* [N]; //N개짜리 동적할당 배열을 가리키는 더블포인터
for (int i = 0; i < N; i++) arr[i] = new int[M]; //각각 배열은 M개짜리 동적할당 배열을 가리킴
- 위 코드를 N = 3, M = 3이라고 한다면 메모리는 아래와 같다.
- 사용자로부터 N과 M을 입력받고 N x M행렬을 두 개 입력받는다.
- 각각 행과 열을 덧셈한 후 출력한다.
'자료구조 & 알고리즘 > BOJ' 카테고리의 다른 글
[C++] 백준 7단계 - 10798번 문제 (세로읽기) (0) | 2023.04.18 |
---|---|
[C++] 백준 7단계 - 2566번 문제 (최댓값) (0) | 2023.04.18 |
[C++] 백준 6단계 - 25206번 문제 (너의 평점은) (0) | 2023.04.17 |
[C++] 백준 6단계 - 1316번 문제 (그룹 단어 체커) (0) | 2023.04.16 |
[C++] 백준 6단계 - 2941번 문제 (크로아티아 알파벳) (0) | 2023.04.15 |