#include <iostream>
using namespace std;
struct matran
{
int hang,cot;
float *heso;
};
void nhap (matran &mt1, matran &mt2) {
cin>>mt1.hang>>mt1.cot;
cout<<mt1.hang<<" "<<mt1.cot;
mt1.heso =new float [mt1.hang][mt1.cot]
mt2.heso= new float [mt1.hang][mt1.cot];
for (int i=0;i<mt1.hang;i++) {
for (int j=0;j<mt1.cot;i++) {
cin>>mt1.heso[i][j];
}
}
}
main () {
matran mt1,mt2;
nhap(mt1,mt2);
}
Nhờ giúp đỡ debug và sửa lỗi code ma trận
Code lỗi ở chỗ nó lỗi đó. Bạn xem ky lại xem. Mình sửa lại rồi bạn xem có chạy được không
#include <iostream>
using namespace std;
struct matran
{
int hang,cot;
float *heso;
};
void nhap (matran &mt1, matran &mt2) {
cin>>mt1.hang>>mt1.cot;
cout<<mt1.hang<<" "<<mt1.cot;
mt1.heso =new float [mt1.hang][mt1.cot]
mt2.heso= new float [mt1.hang][mt1.cot];
for (int i=0;i<mt1.hang;i++) {
for (int j=0;j<mt1.cot;i++) {
cin>>mt1.heso[i][j];
}
}
}
main () {
matran mt1,mt2;
nhap(mt1,mt2);
}
1 Like
Mình quên mất mảng 2 chiều không cấp phat như vậy được.
1 Like
sửa hộ mình đoạn trên được k…nhập ma trận cỡ m*n
#include <iostream>
using namespace std;
struct matran
{
int hang,cot;
float *heso;
};
void nhap (matran &mt1, matran &mt2) {
cin>>mt1.hang>>mt1.cot;
cout<<mt1.hang<<" "<<mt1.cot;
mt1.heso =new float [mt1.hang * mt1.cot];
mt2.heso= new float [mt1.hang * mt1.cot];
for (int i=0;i<mt1.hang;i++) {
for (int j=0;j<mt1.cot;j++) {
cin>>mt1.heso[i * j];
}
}
}
main () {
matran mt1,mt2;
nhap(mt1,mt2);
}
Đã sửa.
b thử chạy xem…chạy ma trận 3*3 nó k kết thúc bước nhập
Sao không dùng vector cho tiện.
Vì bạn cấp phát mảng 1 chiều nên không thể dùng mt[i][j] được
Mảng 1 chiều cho ma trận dạng 2 chiều thì phải tính toán vị trí nhập vào.
#include <iostream>
using namespace std;
struct matran
{
int hang,cot;
float *heso;
};
void nhap (matran &mt1, matran &mt2) {
cin>>mt1.hang>>mt1.cot;
cout<<mt1.hang<<" "<<mt1.cot << endl;
mt1.heso =new float [mt1.hang * mt1.cot];
mt2.heso= new float [mt1.hang * mt1.cot];
for (int i=0;i<mt1.hang;i++) {
for (int j=0;j<mt1.cot;j++) {
int f = i * 2 + j;
cin>>mt1.heso[f];
cout << f << " " << mt1.heso[f] << endl;
}
}
}
int main () {
matran mt1,mt2;
nhap(mt1,mt2);
}
1 Like
tks bro.mình hiểu r,…

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