Cho e hỏi : có cách nào để sắp xếp mảng 2 chiều thế này:
5 6 9
1 2 4
3 8 7
thành
1 2 3
4 5 6
7 8 9
ngoại trừ chuyển thành mảng 1 chiều rồi sắp xếp ko vậy?
Sắp xếp mảng 2 chiều
Cách nhanh nhất là bạn dùng 4 vòng for bạn ơi. Normal sort là được rồi.
Chuyển mảng 2 chiều về mảng 1 chiều nha… sau đó sort rồi in ra mảng 2 chiều 
Gợi ý :
// mảng m2 là mảng 2 chiều, kích thước m*n (m dòng n cột)
for (int i = 0; i < m*n; i++)
m1[i] = m2[i/n][i%n];
-----------------------------------------------------
#include <iostream>
using namespace std;
void nhapMang(int contro[][100], int dong, int cot)
{
for(int biendem =0; biendem < cot*dong; biendem++)
{
cout<<"Nhap mang thu a["<<biendem/cot<<"]"<<"["<<biendem%cot<<"] :";
cin>>contro[biendem/cot][biendem%cot];
}
}
void xuatMang(int contro[][100], int dong, int cot)
{
for(int biendem =0; biendem < cot*dong; biendem++)
{
cout<<"\t"<<contro[biendem/cot][biendem%cot];
if((biendem+1)%cot==0)
cout<<endl;
}
cout<<"\t";
}
int main()
// cout<<endl;
{
cout << "Hello world!" << endl;
int contro[100][100];
nhapMang(contro,3,4);
xuatMang(contro,3,4);
return 0;
}
//quên chưa đọc hết câu đề của bạn. "ngoài trừ" thôi lỡ rồi nên để đó cho ai cần 
tìm min, max rồi đếm từ min tới max nếu gặp số nào thì in ra
nói vậy chứ không biết đúng không 
for(int i = 0; i < dong * cot - 1; i++)
{
for(int j = 0; j < dong * cot; j++)
{
if(a[i / cot][i % cot] > a[j / cot][j % cot])
{
HoanVi(a[i / cot][i % cot], a[j / cot][j % cot])
}
}
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?