//행과 열을 입력 받고 각 행렬의 데이터를 입력 후 가로와 세로의 합을 구한다
int main()
{
int nRows, nCols;
printf("행과 열의 개수를 각각 입력하세요: ");
scanf("%d %d", &nRows, &nCols);
int** nMat;
int* nSumRow;
int* nSumCol;
nMat = (int**)malloc(sizeof(int*) * nRows);
nSumRow = (int*)malloc(sizeof(int) * nRows);
nSumCol = (int*)malloc(sizeof(int) * nCols);
memset(nSumCol, 0x00, sizeof(int) * nCols);
memset(nSumRow, 0x00, sizeof(int) * nCols);
for (int i = 0; i < nRows; i++)
{
nMat[i] = (int*)malloc(sizeof(int) * nCols);
printf("%d번째 행의 원소 %d개를 입력하세요 : ", i + 1, nCols);
for (int j = 0; j < nCols; j++)
{
scanf("%d", &nMat[i][j]);
nSumRow[i] += nMat[i][j];
nSumCol[j] += nMat[i][j];
}
}
for (int i = 0; i < nRows; i++)
{
for (int j = 0; j < nCols; j++)
printf("%d ", nMat[i][j]);
printf("| %d \n", nSumRow[i]);
}
printf("-------------------------------------\n");
for (int i = 0; i < nCols; i++)
{
printf("%d ", nSumCol[i]);
}
return 0;
}