728x90
3X4행렬을 저할 수 있는 2차원 배열 matrix[3][4]와, 이 행렬에 대한 행의 합과 열의 합을 저장할 수 있는 배열 rowSum[3],colSum[4]을 선언하라.
키보드로부터 정수를 읽어 들여 matrix[3][4]에 저장하는 함수를 정의하라
=> void readMartirx(int m[][4],int row,int col);
각 행의 합을 구하여 저장하는 함수를 정의하라.
=> void addRow(int m[][4],int sum[],int row,int col);
배열에 저장된 합을 출력하는 함수를 정의하라.
=> void printSum(int sum[],int size);
위 함수를 이용하여 행렬에 12개의 데이터를 저장한 후 각 행과 열에 대한 합을 구하여 출력하는 프로그램을 작성하시오.
#include <iostream>
using namespace std;
void readMatrix(int m[][4], int row, int col);
void addRow(int m[][4], int sum[], int row, int col);
void addCol(int m[][4], int sum[], int row, int col);
void printSum(int sum[], int size);
void readMatrix(int m[][4], int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++){
cin >> m[i][j];
}
}
} //행렬 입력함수
void addRow(int m[][4], int sum[], int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
sum[i] += m[i][j];
}
}
}//행의 합
void addCol(int m[][4], int sum[], int row, int col) {
for (int i = 0; i < col; i++) {
for (int j = 0; j < row; j++) {
sum[i] += m[j][i];
}
}
}//열의 합
void printSum(int sum[], int size) {
for (int i = 0; i < size; i++) {
cout << i << "번째 합:";
cout << sum[i] << " ";
cout << endl;
}
}// 총 합 출력
int main() {
int matrix[3][4];
int rowSum[3]={0};
int colSum[4]={0};
cout << "행렬 입력:"<<endl;
readMatrix(matrix, 3, 4);
addRow(matrix, rowSum, 3, 4);
addCol(matrix, colSum, 3, 4);
cout << "각 행의 합>>"<<endl;
printSum(rowSum, 3);
cout << "각 열의 합>>"<<endl;
printSum(colSum, 4);
}

728x90
'💻 Programming > C | C++' 카테고리의 다른 글
[C++] 코딩과제 10 (0) | 2023.01.06 |
---|---|
[C++] 코딩과제 8 (0) | 2023.01.06 |
[C++] 코딩 과제 7 (0) | 2023.01.06 |
[C++] 코딩과제 1~6 (0) | 2022.11.01 |