该代码应该转置矩阵:
(key, dummy)
我尝试过使用可变大小的数组,使用不同的语法返回数组,甚至更改数组本身而不是使用第二个数组。即使暂时工作了,转置功能也无法正常工作。现在,它给出了分段故障/核心转储消息。
答案 0 :(得分:1)
您索引m
越界:
for(i = 0; i < rows; i ++){
for(ii = 0; ii < cols; i++) { // note that you increase i, not ii, here
cout << m[i][ii] << " ";
}
cout << "\n";
}
您在main()
的两个内部循环中都犯了相同的错误。解决方案是将内部循环更改为此:
for(ii = 0; ii < cols; ii++) { // increase ii instead
cout << m[i][ii] << " ";
}