01/10/2018, 15:01
Nhờ fix hộ code ma trận chuyển vị
#include <iostream>
using namespace std;
void NhapMaTran(float *a,int x,int y)
{
for (int i = 0; i < x; i++)
for (int j = 0; j < y; j++)
cin >> *(a + i*j + j);
}
void XuatMaTran(float *a, int x, int y)
{
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
cout << *(a + i*j + j) << " ";
cout << endl;
}
}
void MaTranChuyenVi(float *a, int x, int y)
{
for (int i = 0; i < y; i++)
{
for (int j = 0; j < x; j++)
cout << *(a + i*j + i) << " ";
cout << endl;
}
}
int main()
{
float *a;
int x,y;
cout << "Nhap kich thuoc ma tran
";
cout << "Nhap so hang
";
cin >> x;
cout << "Nhap so cot
";
cin >> y;
a = new float[x*y];
NhapMaTran(a, x, y);
cout << "Ma tran ban vua nhap nhu sau
";
XuatMaTran(a, x, y);
cout << "Ma tran chuyen vi
";
MaTranChuyenVi(a, x, y);
return 0;
}
Chả hiểu sao nó lại đổi giá trị của mấy số như vầy nữa. Các bác fix hộ em.
Thanks !!!
Bài liên quan
cin >> *(a + i*j + j);
Thêm
cout << (i*j + j) << endl;
để debug nhé