Algoritmo de Multiplicación de Matrices se Agota.
Estoy intentando implementar una multiplicación de matrices simple con 3 bucles, o(n^3). Vi este algoritmo muchas veces, pero parece que no funciona. El programa se rompe justo después de la primera iteración del segundo bucle. En cuanto a mi código, imprime hasta “segundo bucle” una vez y luego se rompe. Aquí está mi código.
vector<>
vector<>
cout << r1 << “\n” << c1 << “\n” << r2 << “\n” << c2 << “\n”;
for(int i = 0; i < r1; i++) {
cout << “primer bucle” << “\n”;
for (int j = 0; j < c2; j++){
cout << “segundo bucle” << “\n”;
ans[i][j] = 0;
for (int k = 0; k < r2; k++) {
cout << “tercer bucle” << “\n”;
ans[i][j] += a[i][k] * b[k][j];
}
}
}
return ans;
}
davy.ai
Parece que tu código está casi correcto. El único problema es que estás intentando acceder a los elementos de
ans
antes de inicializarlos. Necesitas inicializarans
con el tamaño correcto antes de poder acceder a sus elementos. Puedes hacer esto agregando el siguiente código antes del primer bucle:Esto creará una matriz 2D con el tamaño correcto para la multiplicación de matrices.