Sie sind auf Seite 1von 3

Matrix

============================================
#include<iostream.h>
#include<stdlib.h>

class Matrix{
public:
Matrix(){
row=0;
col=0;
}
Matrix(int r,int c){
row=r;
col=c;
a=new int[row*col];
}

void setValue(int i,int j,int val){


a[mf(i,j)]=val;
}

int getValue(int i,int j){


return a[mf(i,j)];
}

int mf(int i,int j){


return i*col+j;
}

void getAll(){
int t;
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
cout<<"Enter Values["<<i<<"]["<<j<<"]: ";
cin>>t;
setValue(i,j,t);
}
}
cout<<endl;
}

void Print(){
cout<<endl;
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
cout<<"Values["<<i<<"]["<<j<<"]:
"<<getValue(i,j)<<endl;
}
}
}

Matrix operator+(Matrix &ob){


Matrix temp;
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
setValue(i,j,getValue(i,j)+ob.getValue(i,j));
}
}
return *this;
}

Matrix operator-(Matrix &ob){


Matrix temp;
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
setValue(i,j,getValue(i,j)-ob.getValue(i,j));
}
}
return *this;
}

Matrix operator*(Matrix &ob){


Matrix temp(2,2);
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
temp.setValue(i,j,0);
for(int k=0;k<ob.col;k++){

temp.setValue(i,j,temp.getValue(i,j)+getValue(i,k)*ob.getValu
e(k,j));
}
}
}
return temp;
}

private:
int *a;
int row;
int col;
};

void main(){
Matrix a(2,2);
Matrix b(2,2);
Matrix c(2,2);
int ch;

a.getAll();
b.getAll();

cout<<"\n\n1-Addition";
cout<<"\n2-Subtraction";
cout<<"\n3-Multiplication";
cout<<"\n4-Exit";
cout<<"\n\nEnter ur choice: ";
cin>>ch;
if(ch==1){
c=a+b;
c.Print();
}
else if(ch==2){
c=a-b;
c.Print();
}
else if(ch==3){
c=a*b;
c.Print();
}
else if(ch==4)
exit(0);
}

http://www.ravianeducation.blogspot.com
FARHAN: 03008855006

Das könnte Ihnen auch gefallen