Código fuente M2
#Include? & ltiostream & gt
#Contiene? & ltvector & gt
#¿Contiene? & ltAlgoritmo& gt
#¿Contiene? & ltstdio.h & gt
¿#Contiene? & ltstring.h & gt
¿Usar? ¿Espacio de nombres? std
typedef? vector<vector<int>? >? Matriz;
typedef? vector<int>? Organizar;
¿Anulado? GetMatrix(matrix & ?m)
{
¿Huelga? tmp
int? n;
tamaño_t? ¿tamaño? =?0;
while(cin.peek()?!=?'#')
{
CIN unsetf(IOs::skip ws. );
Y(cin?& amp& amp?cin.peek()?!=?\n ')
{
mientras(cin.peek ()? ==?'?')
CIN get();
if(cin.peek()?==?'#')
Romper;
cin? >>? n;
while(cin.peek()?==?'?')
CIN get()
tmp . n);
}
if(cin.peek()?!=?'#')
CIN get();
if(!cin)
{
cerr? <<? "Error: ?¿No válido?Ingresar?Carácter.\n";
Salir(0);
}
if (¿tamaño?!=?0? & amp& amp? tamaño ! =?tmp.size())
cerr? <<? "Error: ? ¿Irregulado? ¿Matriz? ¿No? Permitido.\n";
Salir(0);
}
¿Dimensiones? =?tmp . p>cin.ignore(512,?\n');
}
¿No es válido? PrintMatrix(const?matrix&?m)
{
¿Estático? ¿Ciel? número[32];
int? Máx. =?*max_element(m[0]). comenzar(),? m[0]. end());
int? n;
for(size_t?i?=?1;?i?<?m.size();?++i)
si (max?<? (n ?=?*max_element(m[i]).begin(),?m[i].end()))))
Máx. =?n;
sprintf(número, " %d ", máx);
cout . ?=?0;?<?m.size();? j?<?m[i].
tamaño();? ++j)
{
cout ancho(strlen(num));
cout? <<? m[i][j]? <<? '?';
}
cout? <<? \ n ';
}
}
¿No es válido? MatrixMul(const?matriz&?m1,?const?matriz&?m2,?matriz&?producto)
{
if(m1[0]). tamaño()? ! =?m2.size())
{
cerr? <<? "¿Candidato? ¿No? Permitido.\n";
cerr? <<? "¿Si? ¿m1? ¿Sí? ¿A? m? *? n? ¿Matriz? ¿Y qué? ¿m2? ¿Debe? ¿Sí? ¿A? n? *? p? Matriz.\n "
exit(0 );
}
for(size_t?i?=?0;?i?<?m 1. tamaño();?++i) p>
{
producto . push _ back(row());
for(size_t?j?=?0;?j?<?m2[0 ].size() ;?++j)
{
Producto[i]. push _ back(0);
for(size_t?k?=?0;?k?<?m1[0].size();?++k)
Producto[i][j]? +=?m1[i][k]? *?m2[k][j];
}
}
}
int? main()
{
¿Matriz? m1,? m2,? m3;
cout? <<? "¿Ingresar? matriz 1:\ n ";
obtener matriz(m 1);
cout? <<? "\nEntrada?matriz 2:\n";
obtener matriz(m2);
MatrixMul(m1,?m2,?m3);
cout ? <<? "\n\Matriz?1:?"? <<? m1.tamaño()? <<? "?×?"& lt& lt? m1[0]. tamaño()? <<? \ n ';
imprimir matriz(m 1);
cout? <<? "\n\Matriz?2:?"? <<? m2.tamaño()? <<? "?×?"& lt& lt? m2[0]. tamaño()? <<? \ n ';
imprimir matriz(m2);
cout? <<? "\n\nm1?*?m2:?"? <<? m3.tamaño()? <<? "?×?"& lt& lt? m3[0]. tamaño()? <<? \ n ';
imprimir matriz(m3);
}