#include<iostream.h>
int main() {
int i, j, matrix[2][3], vector[6];
//filling the matrix with element
for(i=0;i<2;i++)
for(j=0;j<3;j++)
cin >> matrix[i][j];
for(i=0;i<2;i++) {
for(j=0;j<3;j++)
cout << matrix[i][j];
cout << endl;
}
//filling the vector with matrix elements
for(i=0;i<2;i++) {
for(j=0;j<3;j++)
vector[j] = matrix[i][j];
}
//show the vector
for(j=0;j<6;j++) {
cout << vector[j];
}
return 0;
}
最佳答案
在这一行中:
vector[j]=matrix[i][j];
您只使用矩阵元素的列索引 (j),因此您(按顺序)写入 vector 的位置 0、1、2、0、1、2(将位置 3 到 5 留空)。
尝试
vector[i*3 + j]=matrix[i][j];
关于c++ - 希望我的代码将矩阵元素逐行转换为 vector ,它只显示矩阵的最后一行为 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8961804/