Red de conocimiento informático - Aprendizaje de programación - Código fuente M2

Código fuente M2

Es un poco molesto escribirlo, pero es comprensible:

#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)

{

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);

}