
#include <stdio.h>
#include <iostream>
static void matrix_multiply(
int result[3][3], /*The result*/
int matrix1[3][3], /*One multiplicand*/
int matrix2 [3][3] /*The other multiplicand*/
)
{
/* Index into elements of the elements of the matrix*/
int row, col, element;
for(row = 0; row <3; ++row)
{
for(col = 0; col < 3; ++col)
{
result[row][col] = 0;
for(element = 0; element < 3; ++element)
{
result[row][col] +=
matrix1[row][element] *
matrix2[element][col];
}
}
}
}
/*******************************************************
* matrix_print -- Output the matrix *
*******************************************************/
static void matrix_print(int matrix[3][3] /* The matrix to print*/ )
{
int row, col; /*Index into matrix*/
for(row=0; row < 3; ++row)
{
for(col = 0; col <3; ++col)
{
printf("%o\t", matrix[row][col]);
}
printf("\n");
}
}
int main(void)
{
/* One matrix for multiplication */
int matrix_a[3][3] = {
{45,82,26},
{32,11,13},
{89,81,25}
};
/* Another matrix for multiplication */
int matrix_b[3][3] = {
{32,43,50},
{33,40,52},
{20,12,32}
};
/* Place to put result*/
int result[3][3];
matrix_multiply(result, matrix_a, matrix_b);
matrix_print(result);
system("pause");
return(0);
}

The Hints are written in white so you have to highlight them to see 




/****************************************************************************************************
...---- ....
..-:"'' ''"-..
.-' '-.
.' . . '.
.' . . . . .''.
.' . . . . . . . ..:.
.' . . . . . . .. . . .... ::.
.. . . . . . . .. . ....: IA.
.: . . . . . . .. . .. .. . ...:IA.
.: . . .. . . . . .. . ... .. ..:.:VHA.
' .. . .. . . . . .. . .. . ... ..:.::IHHB.
.: . . . . . . . . . . . ...:.: ... .......:HIHMM.
.: .... . . ."::"' .. . . . .:.:.: II;,. .. ..:IHIMMA
':.:.. ..: :IHHHHHI:: . . . ...:.:::: .,,,. . ....VIMMHM
.::: I. .AHHHHHHHHHHAI:: . .:...,: IIHHHHHHMMMHHL: . . VMMMM
.:.:V.: IVHHHHHHHMHMHHH::..: " .: HIHHHHHHHHHHHHHMHHA. .VMMM.
:..V.: IVHHHHHMMHHHHHHHB... . .: VPHHMHHHMMHHHHHHHHHA I.:VMMI
::V..: VIHHHHHHMMMHHHHHH. . .I": IIMHHMMHHHHHHHHHHHAP I:WMM
::". .: .HHHHHHHHMMHHHHHI. . .:..I: MHMMHHHHHHHHHMHV:': H:WM
:: . :.:: IIHHHHHHMMHHHHV .AB A.:.: IMHMHMMMHMHHHHV:' . .IHWW
'. ..:..:.: IHHHHHMMHV" .AVMHMA.:.' VHMMMMHHHHHV:' . : IHWV
:. .:...:" .:.:TPP" .AVMMHMMA.:. " VMMHHHP.:... .. : IVAI
.:. '... .: "' . ..HMMMHMMMA:: . ."VHHI:::.... .: IHW'
... . . ..: IIPPIH: ..HMMMI.MMMV:I: . .:ILLH:.. ...:I: IM
: . .'"' .: .V". .. . :HMMM: IMMMI::I. ..: HHIIPPHI::'.P:HM.
: . . . .. ..: .. . : AMMM IMMMM..:...:IV" :T::I::.".:IHIMA
'V: .. .. . .. . . . 'VMMV..VMMV :....: V:.:..:....::IHHHMH
"IHH:.II: .. .:. . . . . " : HB"" . . ..PI:.::.:: :..:IHHMMV"
:IP""HHII: . . . . . .'V: . . . ..:IH:.:.:: IHIHHMMMMM"
:V:. VIMA: I.. . . . .. . . .:.I:I:..: IHHHHMMHHMMM
:"VI:.VWMA:: . .: . .. .: . ..:.I::.: IVHHHMMMHMMMMI
:."VIIHHMMA: . . . .: .: .. . .:.II:I: AMMMMMMHMMMMMI
: ..VIHIHMMMI...::.,: .,:!"I:!"I!"I!"V:AI: VAMMMMMMHMMMMMM'
':.: HIHIMHHA:"!!"I.: AXXXVVXXXXXXXA:." HPHIMMMMHHMHMMMMMV
V:H:I:MA: W'I :AXXXIXII: IIIISSSSSSXXA.I.VMMM HMHMMMMMM
'I:: IVA ASSSSXSSSSBBSBMB SSSSSSBBMMMBS.VVMMHI MM'"'
I:: VPAIMSSSSSSSSSBSSSM MBSSSBBMMMMXXI: MMHIMMI
.I::. " H: XIIXBBMMMMMMMMMMMMMM MMMBXIXXMMPHIIMM'
:::I. ' : XSSXXIIIIXSSBMBSSXXX IIIXXSMMAMI:.IMM
:::I: . .VSSSSSISISISSSBI I:ISSSSBMMB:MI:..: MM
::.I: . ':" SSSSSSSISISSXIIXSSSS BMMB:AHI:..MMM.
::.I: . . ..:" BBSSSSSSSSSSSSBBBMMM B:AHHI::.HMMI
:..:: . . ..::": BBBBBSSBBBMMMB: MMMMHHII::IHHMI
':.I: ... ....: IHHHHHMMMMMMMMMMMMMM MHHIIIIHMMV"
"V: . ..:...: .IHHHMMMMMMMMMMMMMMM MHHHMHHMHP'
': . .:::.:.::III:: IHHHHMMMMMHMHMMHHHHM "
":: ....::.:::..:..:: IIIIIHHHHMMMHHMV"
" ::.::.. .. . ...::: IIHHMMMMHMV"
"V::... . .I:: IHHMMV"'
'"VHVHHHAHHHHMMV: "'
****************************************************************************************************/
#include <stdio.h>
#include <iostream>
static void matrix_multiply(
int result[3][3], /*The result*/
int matrix1[3][3], /*One multiplicand*/
int matrix2[3][3] /*The other multiplicand*/
)
{
/* Index into elements of the elements of the matrix*/
int row, col, element;
for(row = 0; row <3; ++row)
{
for(col = 0; col < 3; ++col)
{
result[row][col] = 0;
for(element = 0; element < 3; ++element)
{
result[row][col] =
matrix1[row][element] *
matrix2[element][col];
}
}
}
}
/*******************************************************
* matrix_print -- Output the matrix *
*******************************************************/
static void matrix_print(int matrix[3][3] /* The matrix to print*/ )
{
int row, col; /*Index into matrix*/
for(row=0; row < 3; ++row)
{
for(col = 0; col <3; ++col)
{
printf("%d\t", matrix[row][col]);
}
printf("\n");
}
}
int main(void)
{
/* One matrix for multiplication */
int matrix_a[3][3] = {
{45,82,26},
{32,11,13},
{89,81,25}
};
/* Another matrix for multiplication */
int matrix_b[3][3] = {
{32,43,50},
{33,40,52},
{20,12,32}
};
/* Place to put result*/
int result[3][3];
matrix_multiply(result, matrix_a, matrix_b);
matrix_print(result);
system("pause");
return(0);
}
520 312 832 260 156 416 500 300 800