matrix multiplication in c++??
use two dimensional array
#include<iostream> using namespace std; class matrix { public: int a[3][3]; matrix()//default constructor { for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { a[i][j]=0; } } } void set()// to set matrix elements { for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { cout<<"\n Enter "<<i<<","<<j<<" element="; cin>>a[i][j]; } } } void show()// to show matrix elements { cout<<"\n Matrix is=\n"; for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { cout<<a[i][j]<<","; } cout<<"\n"; } } matrix operator*(matrix x)// overloading * for multiplication { matrix c;// this will hold our result for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { c.a[i][j]=0; for(int k=0;k<3;k++) { c.a[i][j]=c.a[i][j]+a[i][k]*x.a[k][j]; } } } return(c); } }; int main() { matrix a,b,c; a.set(); b.set(); c=a*b; /* note that compiler will break this statement as c=a.operator*(b); this is how 2nd arg is passed. and this is how object "a" acts as the calling object */ a.show(); b.show(); c.show(); }
thanks
Join our real-time social learning platform and learn together with your friends!