Code ma trận chuyển vị bị sai

khi mình cho hiện ra ma trạn chuyển vị thì 2 phần tử cuối cùng tự động =0 là sao vậy ạ???mong mọi người giúp đỡ.Cảm ơn!

e sua tu chieu gio ma van the ai giup voi @ltd

bạn có thể copy code cho dễ nhìn hơn được không? chói quá

Theo mình thấy thì bạn đang code nhầm m với n thì phải, bạn xem lại đi

hàng của ma trận này sẽ là cột của ma trận chuyển vi mà

vi mình làm trên máy chủ linux nên khó coppy minh viết lại đoạn in ra ma trận chuyển `vi

float matran::tinhmatran(){
    for (int i=0;i<m;i++){
        for(int j=0;j<n;j++){
         b[i][j]=a[[j][i];
     }
cout<<endl;
}
cout<<"ma tran chuyen vi la: "<<endl;
    for (int i=0;i<n;i++){
        for(int j=0;j<m;j++){
         cout<<b[i][j]  << "  ";
     }
cout<<endl;
}
}

@VuVanChung

Do (m, n) là ứng với ma trận a chứ không phải ma trận b, mà bạn lại viết là b[i][j] và a[j][i] nên lỗi là đúng.

1 Like

mình đổi lại r vẫn thế

Bạn chép toàn bộ code đc ko? để mình chạy thử, đỡ phải viết

À rồi, bạn sửa thành

float matran::tinhmatran(){
for (int i=0;i<n;i++){
for(int j=0;j<m;j++){
b[i][j]=a[[j][i];
}

ok r cảm ơn bạn.:)))))))))))))

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?