Super Kawaii Cute Cat Kaoani
본문 바로가기
💻 Programming/C | C++

[C++] 코딩과제 9

by wonee1 2023. 1. 6.
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