c++定义一个矩阵类,运算符重载实现两个矩阵的和。

输入多组数据,每组数据第一行输入m,n表示矩阵有m行,n列;接下来输入两个m行n列的矩阵,两个矩阵间用空行隔开。Ouput输出对应矩阵的和。SampleInput2311... 输入多组数据,每组数据第一行输入m,n表示矩阵有m行,n列;接下来输入两个m行n列的矩阵,两个矩阵间用空行隔开。
Ouput
输出对应矩阵的和。
Sample Input
2 3
11 22 33
44 55 66

12 13 14
15 16 17
2 2
1 2
3 4

4 3
2 1Sample Output
23 35 47
59 71 83

5 5
5 5
展开
 我来答
梦想在路上411
2016-04-28
知道答主
回答量:3
采纳率:100%
帮助的人:2392
展开全部
#include "stdafx.h"
#include <iostream>
using namespace std;
class Matrix //rows行cols列整型矩阵
{
public:
Matrix(int r = 0, int c = 0);
~Matrix(){};
void Input();
void Output();
Matrix operator+ (Matrix&);
private:
int rows;
int cols;
int **n;

};
Matrix::Matrix(int r, int c)
{
rows = r;
cols = c;
n = new int *[rows];
for (int i = 0; i < rows; i++)
n[i] = new int[cols];
}
void Matrix::Input()
{
for (int i = 0; i < rows;i++)
for (int j = 0; j < cols;j++)
cin >> n[i][j];
}
void Matrix::Output()
{
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
cout << n[i][j] << " ";
cout << endl;
}
}

Matrix Matrix::operator + (Matrix& x)
{
Matrix tem(rows, cols);
for (int i = 0; i < rows; i++)
for (int j = 0; j < cols; j++)
tem.n[i][j] = n[i][j] + x.n[i][j];
return tem;
}
int main(int argc, char* argv[])
{
Matrix A(3, 3), B(3, 3),C(3, 3);
cout<<"请输入第一个3*3矩阵:"<<endl;
A.Input();
cout<<"请输入第二个3*3矩阵:"<<endl;
B.Input();
C = A + B;
cout<<"\n两个矩阵求和的结果为:"<<endl;
C.Output();
return 0;
}
mtkomuzesv
2012-04-14
知道答主
回答量:28
采纳率:0%
帮助的人:14.9万
展开全部
Matrix(int m, int n); virtual ~Matrix(); int getValue(int i, int j) const; void setValue(int i, int j, int v); bool operator=(const,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式