Video giải thích chi tiết về Cách sắp xếp mảng hai chiều tăng dần hoặc giảm dần trong lập trình C | Tự học lập trình C
Code ví dụ
#include <stdio.h>
int a[100][100];
int m, n;
void nhapMaTran(int x[100][100], int &m, int &n){
do{
printf("Nhap vao m va n: ");
scanf("%d%d", &m, &n);
}while(m<=0 || n<=0);
for(int i=0; i<m; i++){
for(int j=0; j<n; j++){
printf("x[%d][%d]=", i, j);
scanf("%d", &x[i][j]);
}
}
}
void xuatMaTran(int x[100][100], int m, int n){
printf("\nMang: \n");
for(int i=0; i<m; i++){
for(int j=0; j<n; j++){
printf("%d\t", a[i][j]);
}
printf("\n");
}
}
void sapXepTang(int x[100][100], int m, int n){
int k = m*n;
for(int i=0; i<k-1; i++){
for(int j=i+1; j<k; j++){
if(x[i/n][i%n]>x[j/n][j%n]){
int temp = x[i/n][i%n];
x[i/n][i%n] = x[j/n][j%n];
x[j/n][j%n] = temp;
}
}
}
}
void sapXepGiam(int x[100][100], int m, int n){
int k = m*n;
for(int i=0; i<k-1; i++){
for(int j=i+1; j<k; j++){
if(x[i/n][i%n]<x[j/n][j%n]){
int temp = x[i/n][i%n];
x[i/n][i%n] = x[j/n][j%n];
x[j/n][j%n] = temp;
}
}
}
}
int main(){
nhapMaTran(a, m, n);
xuatMaTran(a, m, n);
sapXepGiam(a, m, n);
printf("\n Mang da sap xep giam la: \n");
xuatMaTran(a, m, n);
sapXepTang(a, m, n);
printf("\n Mang da sap xep tang la: \n");
xuatMaTran(a, m, n);
}
Không có nhận xét nào:
Đăng nhận xét