【问题描述】从标准控制台输入一个二维矩阵,然后分别计算该矩阵的行和/行均值/列和/列均值及所有元素的和。
【输入形式】开始首先输入矩阵的行数(rows)与列数(cols),均为整型;
其后则是rows*cols个浮点型数据。
【输出形式】输出见【样例输出】
【样例输入】
3 4
8.124 6.778 4.365 5.133
4.255 8.630 9.528 3.849
2.323 6.158 2.253 9.096
【样例输出】
==Row Calculation==
All Sum:70.492
Row Sum:
14.702 21.566 16.146 18.078
Row Mean:
4.90067 7.18867 5.382 6.026
==Column Calculation==
All Sum:70.492
Column Sum:
24.4 26.262 19.83
Column Mean:
6.1 6.5655 4.9575
【说明】
请在以下代码的基础上编写:
#include
using std::endl;
using std::cin;
using std::cout;
void Print1DArray(const float * arr, int length){
for(int i = 0; i< length; ++i){
cout << arr[i] << " ";
}
cout << endl;
}
void Print2DArray(float ** arr, int rows, int cols){
cout << rows << " " << cols << endl;
for(int i = 0; i< rows; ++i){
for (int j = 0; j< cols; ++j)
cout << arr[i][j] << " ";
cout << endl;
}
}
float Matrix_RowCalculation(float ** arr, int rows, int cols, float * pRowSum, float * pRowMean);
float Matrix_ColumnCalculation(float ** arr, int rows, int cols, float * pColumnSum, float * pColumnMean);
int main(void){
// 请在此处写入相关的输入语句
// !并且禁止使用固定数组
// 数组名使用arr
// 请不要修改以下内容
Print2DArray(arr, rows, cols);
cout << "========================================" << endl << endl;
cout << "==Row Calculation==" << endl
<< "All Sum:" << Matrix_RowCalculation(arr, rows, cols, pRowSum, pRowMean) << endl;
cout << "Row Sum:" << endl;
Print1DArray(pRowSum, cols);
cout << "Row Mean:" << endl;
Print1DArray(pRowMean, cols);
cout << "========================================" << endl << endl;
cout << "==Column Calculation==" << endl
<< "All Sum:" << Matrix_ColumnCalculation(arr, rows, cols, pColumnSum, pColumnMean) << endl;
cout << "Column Sum:" << endl;
Print1DArray(pColumnSum, rows);
cout << "Column Mean:" << endl;
Print1DArray(pColumnMean, rows);
// 请在此处输入相关的处理
return 0;
}