c++程序问题 大哥大姐们来看看

来源:百度知道 编辑:UC知道 时间:2024/06/21 07:43:13
这个程序意思是输入一个矩阵并输出,我改课本上的,但结果不尽人意
#include<iostream.h>
#include<iomanip.h>
class matrix
{
public:
void setvalue();
void display();
~matrix();
matrix(int m,int n);
matrix operator+(matrix &b);
matrix operator*(matrix &b);
private:
int M, N;
double *array;
};

matrix::matrix(int m,int n)
{
array=NULL;
M=m;N=n;
array=new double[M*N];
}

matrix::~matrix()
{
delete[]array;
}

void matrix::setvalue()
{
cout<<"请输入这个"<<M<<"行"<<N<<"列的矩阵"<<endl;
for(int i=0;i<M;i++)
{
for(int j=0;j<N;j++)
cin>>*(array+(i+1)*(j+1)-1);
}
}

void matrix::display()
{
int k=0;
cout<<"这个"<<M<<"行"<<N<<"列的矩阵为:"<<endl;

改好了, 至于为什么, 自己纸上画画动动脑子, 呵呵

#include<iostream>
#include<iomanip>
using namespace std;

class matrix
{
public:
void setvalue();
void display();
~matrix();
matrix(int m,int n);
matrix operator+(matrix &b);
matrix operator*(matrix &b);
private:
int M, N;
double *array;
};

matrix::matrix(int m,int n)
{
array=NULL;
M=m;N=n;
array=new double[M*N];
}

matrix::~matrix()
{
delete[]array;
}

void matrix::setvalue()
{
cout<<"请输入这个"<<M<<"行"<<N<<"列的矩阵"<<endl;
for(int i=0;i<M;i++)
{
for(int j=0;j<N;j++)
cin>>*(array+i*N+j);
}
}

void matrix::display()
{
cout<<"这个"<<M<<"