求一个c++程序(请各位大虾帮帮忙!!! 3Q)

来源:百度知道 编辑:UC知道 时间:2024/06/18 11:12:15
编写程序,要求主函数定义有M行N列的二维数组A、B和C,并分别调用各函数实现:
(1) 从键盘向数组输入m行n列数据给A和B;
(2) 重载“= =” 运算符,比较矩阵数组A和B的是否相等;
(3) 求矩阵数组A和B之和,并赋予C。
(4) 把三个数组中的m行n列的数据输出;

因为重载运算符的时候,参数至少要有一个是自定义的类型,所以这题不能用重载==.
#include <iostream>
using namespace std;

const int M = 3; //矩阵的行和列
const int N = 4;
//输入函数
void input(int a[][N])
{
cout << "输入" << M << "行"
<< N << "列矩阵" << endl;
for(int i=0; i<M; ++i)
for(int j=0; j<N; ++j)
cin >> a[i][j];
}
//比较两个矩阵是够相等
bool isEqual (int a[][N], int b[][N])
{
for(int i=0; i<M; ++i)
for(int j=0; j<N; ++j)
if(a[i][j] != b[i][j])//只要有一个元素不相等就返回错
return false;
return true;
}

//求两个矩阵的和
void matrixAdd( int a[][N], int b[][N], int c[][N])
{
for(int i=0; i<M; ++i)
for(int j=0; j<N; ++j)
c[i][j] = a[i][j] + b[i][j];
cout << endl;
}

//输出矩阵
void print(int a[][N])
{
for(int i=0; i<M; ++i)
{
for(i