我想通过函数从矩阵移动到动态矢量。然后,要验证一切正常,我想打印矢量元素。
功能:
float **v;
float ** matrix_to_vector(const float m[][2],size_t n){
v = (float **)malloc(n * sizeof(float*));
for(i=0;i<n;i++){
v[i] = (float *)malloc(n * sizeof(float));
for(j=0;j<MAX_COLS;j++){
*(v[i]) = m[i][j];
}
}
return v;
}
On main():
float ** vector;
vector = matriz_a_vector(m,cantidad);
for(i=0;i<cantidad;i++){
for(j=0;j<MAX_COLS;j++){
printf("%f\t",*(vector[i]));
}
printf("\n");
}
我的问题是我总是保留M [I] [1]元素,因为当循环完成时,它总是在v [I]中保持值。当我打印矢量时,我只打印M [I] [1]的值,因为它是保留变量的值。如何获取所有元素并将其全部打印出来?
答案 0 :(得分:0)
已解决。一旦在第一个请求中为v [i]请求了内存,然后它将Matrix值复制到创建的向量中。然后我执行了一个功能来将Vector分开打印。
for(i=0;i<n;i++){
for(j=0;j<MAX_COLS;j++){
v[i][j] = m[i][j];
}
}