백준 행렬 덧셈
일단 new와 delete로 2차원 배열을 어떻게 동적으로 생성하고 해제하는지 알아야한다.
new 키워드로 2차원 배열 동적 할당하기
int** arr = new int*[row]; //2차원 배열의 행의 길이만큼 동적 할당
for(int i = 0; i < row; i++) //각 행에 채우고자하는 배열의 열 길이만큼 할당
arr[i] = new int[col];
delete로 해제하는 방법
for(int i=0; i<row; i++)
delete[] arr[i];
delete[] arr;
행렬을 담는 2차원 배열을 2개 선언하고 반복문으로 각 요소끼리 더해준다.
#include <iostream>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
int N, M;
cin >> N >> M;
int** A = new int* [N];
int** B = new int* [N];
for (int i = 0; i < N; i++)
A[i] = new int[M];
for (int i = 0; i < N; i++)
B[i] = new int[M];
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
cin >> A[i][j];
}
}
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
cin >> B[i][j];
}
}
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
cout << A[i][j]+B[i][j];
if (j != M - 1)
cout << " ";
}
if (i != N - 1)
cout << "\n";
}
for (int i = 0; i < N; i++)
delete[] A[i];
delete[] A;
for (int i = 0; i < N; i++)
delete[] B[i];
delete[] B;
return 0;
}
백준 11382번 꼬마 정민 문제(자료형 크기에 유의) (0) | 2022.09.04 |
---|---|
백준 새싹 배열 5597번 과제 안 내신 분 (0) | 2022.09.04 |
백준 class1 1157 단어 공부 (0) | 2022.08.22 |
2920번 음계 (블락 적절히 나누기!) (0) | 2022.08.21 |
백준 1292번 다른 사람 코드 점검 (0) | 2022.08.21 |
댓글 영역