// Let's print out matrix one and matrix 2.
// Multiplication My Version
#include <iostream>
using namespace std;
void print_matrix( int m[ 10 ] [ 10 ] , int s)
/**
Print out a square matrix of size s, max size 10.
*/
{
for ( int i = 0 ; i < s; ++ i)
{
for ( int j = 0 ; j < s; ++ j)
{
cout << m[ i] [ j] << "\t " ;
}
cout << endl;
}
}
int main( )
{
int m, n, c, d, o, p, first[ 10 ] [ 10 ] , second[ 10 ] [ 10 ] , mult[ 10 ] [ 10 ] ;
cout << "Enter the number of rows and columns of matrix 1 " ;
cin >> m >> n;
cout << "Enter the number of rows and columns of matrix 2 " ;
cin >> o >> p;
cout << "Enter the elements of first matrix\n " ;
for ( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < n ; d++ )
{
cin >> first[ c] [ d] ;
}
}
cout << "Enter the elements of second matrix\n " ;
for ( c = 0 ; c < o ; c++ )
{
for ( d = 0 ; d < p ; d++ )
{
cin >> second[ c] [ d] ;
}
}
cout << "First Matrix:" << endl;
print_matrix( first, m) ;
cout << endl << "Second Matrix:" << endl;
print_matrix( second, o) ;
//mult
/*
if(n==o)
{
for ( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < p ; d++ )
{
mult[c][d]=0;
for(int k=0;k<n;k++)
{
mult[c][d] += first[c][k] * second[k][d];
}
}
}
}
else {
cout<<"Multiplication not possible";
}
cout << "Product of entered matrices:-\n";
for ( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < p ; d++ )
{
cout << mult[c][d] << "\t";
}
cout << endl;
}
*/
return 0 ;
}
Ly8gTGV0J3MgcHJpbnQgb3V0IG1hdHJpeCBvbmUgYW5kIG1hdHJpeCAyLgoKLy8gTXVsdGlwbGljYXRpb24gTXkgVmVyc2lvbgojaW5jbHVkZSA8aW9zdHJlYW0+CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgcHJpbnRfbWF0cml4KGludCBtWzEwXVsxMF0sIGludCBzKQovKioKIFByaW50IG91dCBhIHNxdWFyZSBtYXRyaXggb2Ygc2l6ZSBzLCBtYXggc2l6ZSAxMC4KICovCnsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzOyArK2kpCiAgIHsKICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBzOyArK2opIAogICAgICB7CiAgICAgICAgIGNvdXQgPDwgbVtpXVtqXSA8PCAiXHQiOwogICAgICB9CiAgICAgIGNvdXQgPDwgZW5kbDsKICAgfQp9CgppbnQgbWFpbigpCnsKICAgaW50IG0sIG4sIGMsIGQsIG8sIHAsIGZpcnN0WzEwXVsxMF0sIHNlY29uZFsxMF1bMTBdLCBtdWx0WzEwXVsxMF07CiAKICAgY291dCA8PCAiRW50ZXIgdGhlIG51bWJlciBvZiByb3dzIGFuZCBjb2x1bW5zIG9mIG1hdHJpeCAxICI7CiAgIGNpbiA+PiBtID4+IG47CiAgIGNvdXQgPDwgIkVudGVyIHRoZSBudW1iZXIgb2Ygcm93cyBhbmQgY29sdW1ucyBvZiBtYXRyaXggMiAiOwogICBjaW4gPj4gbyA+PiBwOwogICAKICAgY291dCA8PCAiRW50ZXIgdGhlIGVsZW1lbnRzIG9mIGZpcnN0IG1hdHJpeFxuIjsKIAogICBmb3IgKCAgYyA9IDAgOyBjIDwgbSA7IGMrKyApIAogICB7CiAgICAgIGZvciAoIGQgPSAwIDsgZCA8IG4gOyBkKysgKSAKICAgICAgewogICAgICAgICBjaW4gPj4gZmlyc3RbY11bZF07CiAgICAgIH0KICAgfQogCiAgIGNvdXQgPDwgIkVudGVyIHRoZSBlbGVtZW50cyBvZiBzZWNvbmQgbWF0cml4XG4iOwogCiAgIGZvciAoIGMgPSAwIDsgYyA8IG8gO2MrKyApIAogICB7CiAgICAgIGZvciAoIGQgPSAwIDsgZCA8IHAgOyBkKysgKSAKICAgICAgewogICAgICAgICAgICBjaW4gPj4gc2Vjb25kW2NdW2RdOwogICAgICB9CiAgICB9CiAgICBjb3V0IDw8ICJGaXJzdCBNYXRyaXg6IiA8PCBlbmRsOwogICAgcHJpbnRfbWF0cml4KGZpcnN0LCBtKTsKICAgIGNvdXQgPDwgZW5kbCA8PCAiU2Vjb25kIE1hdHJpeDoiIDw8IGVuZGw7CiAgICBwcmludF9tYXRyaXgoc2Vjb25kLCBvKTsKICAgLy9tdWx0Ci8qCiAgIGlmKG49PW8pCiAgIHsKIAogICAgICAgZm9yICggYyA9IDAgOyBjIDwgbSA7IGMrKyApCiAgICAgICB7CiAgICAgCiAgICAgICAgICBmb3IgKCBkID0gMCA7IGQgPCBwIDsgZCsrICkKICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG11bHRbY11bZF09MDsKICAgICAgICAgIAogICAgICAgICAgICAgIGZvcihpbnQgaz0wO2s8bjtrKyspCiAgICAgICAgICAgICAgewogICAgICAgICAKICAgICAgICAgICAgICAgbXVsdFtjXVtkXSArPSBmaXJzdFtjXVtrXSAqIHNlY29uZFtrXVtkXTsKICAgICAgICAgICAgICB9IAogICAgICAgICAgIH0KICAgICAgIH0KICAgIH0KICAgZWxzZSB7CiAgICAgICBjb3V0PDwiTXVsdGlwbGljYXRpb24gbm90IHBvc3NpYmxlIjsKICAgfQogICBjb3V0IDw8ICJQcm9kdWN0IG9mIGVudGVyZWQgbWF0cmljZXM6LVxuIjsKIAogICBmb3IgKCBjID0gMCA7IGMgPCBtIDsgYysrICkKICAgewogICAgICBmb3IgKCBkID0gMCA7IGQgPCBwIDsgZCsrICkgCiAgICB7CiAgICAgICAgIGNvdXQgPDwgbXVsdFtjXVtkXSA8PCAiXHQiOwogICAgfQogCiAgICAgIGNvdXQgPDwgZW5kbDsKICAgfQogKi8KICAgcmV0dXJuIDA7Cn0=