4x4随机矩阵乘法求助:结果异常及两种乘法实现需求
矩阵乘法异常结果排查与两种实现需求
问题说明
- 创建两个4x4矩阵并执行乘法运算,运行后得到异常结果
- 已定义矩阵
a[i][j]和b[k][l],尝试将运算结果存入新矩阵c[i][j] - 需要实现两种指定的矩阵乘法方式
相关代码
#include<iostream> #include<stdlib.h> #include<time.h> using namespace std; int matriz1() { int a[4][4], i, j; for (i = 0; i < 4; ++i) { for (j = 0; j < 4; ++j) { a[i][j] = rand() % 100 + 1; } } for (i = 0; i < 4; ++i) { for (j = 0; j < 4; ++j) std::cout << a[i][j] << '\t'; std::cout << '\n'; } std::cout << '\n'; std::cout << "x" << std::endl; std::cout << '\n'; std::cout << "Matriz 2:" << std::endl; int b[4][4], k, l; for (k = 0; k < 4; ++k) { for (l = 0; l < 4; ++l) { b[k][l] = rand() % 100 + 1; } } for (k = 0; k < 4; ++k) { for (l = 0; l < 4; ++l) std::cout << b[k][l] << '\t'; std::cout << '\n'; } std::cout << '\n'; int c[4][4], m, n, x; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { for (k = 0; k < 4; k++) { c[i][j] += a[i][k] * b[k][j]; } } } cout << " RESULTADO!!!!!!!!!!!!!!!!!!!!!!" << endl; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { cout << c[i][j] << "\t"; } cout << "\n"; } return 0; } int main() { srand(time(0)); std::cout << "Matriz 1:" << std::endl; std::cout << matriz1() << std::endl; }
备注
问题已在评论区解决,请停止给我的帖子差评,这是我的第一篇帖子。
内容的提问来源于stack exchange,提问作者Deborah Heinig
相关产品推荐
相关产品推荐

