Hola:
lola2, mira, el trabajo con matrices es un standar y la mejor manera (no es general) en la que yo las implemento es haciendo 4 metodos fundamentales (aparte de los comunes...), estos son:
// Aclaro que es una matriz de 2 dimensiones, codigo extensible a otros casos.
// Para matrices dinamicas de apuntadores a Tipo, generica ....
// Coloca "value" en [row, col] de myMatriz y retorna la nueva myMatriz
Matriz* SetValue(Matriz* myMatriz, Tipo* value, int row, int col);
// Retorna "value" en [row, col] de myMatriz
Tipo* GetValue(Matriz* myMatriz, int row, int col);
// Retorna TODA la fila "numberofRow"
Tipo* GetRow(int numberofRow);
// Retorna TODA la columna "numberofCol"
Tipo* GetCol(int numberofCol);
// Codigo .....
Matriz* Multiplicar(Matriz* myMatrizA, Matriz* myMatrizB, Matriz* myMatrizResult);
Asi es mas sencillo realizar las tareas de MULTIPLICACION, haciendo los ciclos anidados y obteniendo asi en cada momento la FILA y la COLUMNA necesaria para realizar la multiplicacion y obtener cada nuevo elemento de la matriz resultante.
Espero que te sirva, y estudia mucho para este examen !!!!!!!!
Salu2,
LordFord