行列を転置したいのですが、それは非常に簡単な作業ですが、私とはうまくいきません:
アップデート
最初の行列を転置し、2 つ目の行列に格納します 2 つの配列は同じ構造を指します 後で比較のために表示できるように、2 つの配列 (ターゲットとソース) が必要です。
struct testing{
int colmat1;
int rowmat1;
float mat[64][64];
};
int testtranspose(testing *test,testing *test2){
int i,j;
test2->colmat1 = test->rowmat1;
test2->rowmat1 = test->colmat1
for(i=0;i<test->rowmat1;i++){
for(j=0;j<test->colmat1;j++){
test2->mat[i][j] = test->mat[i][j];
}
printf("\n");
}
}
これは正しい方法だと思いましたが、明らかに次のような行列の場合:
1 2
3 4
5 6
7 8
私は得る:
1 2 0 0
3 4 0 0
何が問題ですか ?
助けてください、ありがとう!