一夜东风 2016-11-13 14:02 采纳率: 0%
浏览 960

求大神看看operator*错在哪里了

#include
using namespace std;
class Matrix{
private:
int N;
int **matrix;
public:
Matrix();
~Matrix();
Matrix(int);
void init();
void unit();
void display();
Matrix& operator+(Matrix&);
Matrix& operator*(Matrix &);
Matrix& Mul(Matrix&,int);//矩阵和幂
};
Matrix::Matrix(){N=0;}
Matrix::~Matrix(){
int i;
for(i=0;i delete[] matrix[i];
delete [] matrix;
}
Matrix::Matrix(int n){N=n;
matrix=new int*[N];
int i;
for(i=0;i matrix[i]=new int[N];
int j;
for(i=0;i for(j=0;j matrix[i][j]=0;
}
void Matrix::unit(){
int i,j;
for(i=0;i for(j=0;j if(i==j)
matrix[i][j]=1;
}
void Matrix::init(){
int row,col;
for(row=0;row for(col=0;col cout cin>>matrix[row][col];
}
}
Matrix& Matrix::operator*(Matrix &x){
int row,col;
int sum;
Matrix m(N);
for(row=0;row for(col=0;col int i;
sum=0;
for(i=0;i sum=(sum+matrix[row][i]*x.matrix[i][col])%256;
m.matrix[row][col]=sum;
}
x=m;//出错''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
return x;
}
Matrix& Matrix::Mul(Matrix&x,int n){
int bri[1000];
int count=0;
while(n!=0){
bri[count]=n%2;
n=n/2;
count++;
}
Matrix m(N);
m.unit();
for(int i=count-1;i>-1;i--){
m=m*m;
if(bri[i]==1)
m=m*x;
}

      x=m;
      return x;
  }
void Matrix::display(){
    int i,j;
    for(i=0;i<N;i++){
        for(j=0;j<N;j++){
            cout<<"  "<<matrix[i][j];
        }
        cout<<endl;
    }
}
Matrix& Matrix::operator +(Matrix&x){
    int i,j;
    Matrix m(N);
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
            m.matrix[i][j]=matrix[i][j]+x.matrix[i][j];
        x=m;
        return x;
}
int main(){
    int n;
    cout<<"输入矩阵阶数"<<endl;
    cin>>n;
    Matrix N(n);
    N.init();       
    cout<<"输入幂"<<endl;
    cin>>n;
    Matrix K(n);
    K=N.Mul(N,n);
    cout<<"所求矩阵为:"<<endl;
    K.display();
    return 0;
}
  • 写回答

1条回答 默认 最新

  • devmiao 2016-11-13 14:03
    关注

    http://codepad.org/Y0qwSnsy
    没错,可以编译

    评论

报告相同问题?

悬赏问题

  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)