Chương trình dưới đây thực hiện sắp xếp mảng tăng dần và giảm dần, được viết theo dạng hàm. Ngoài ra chương trình cũng viết luôn 2 hàm nhập và xuất mảng.
#include <stdio.h>
void Nhap(int number[], int n){
for(int i = 0; i < n ; i++){
printf("NHAP a[%d]: ",i);
scanf("%d",&number[i]);
}
}
void Xuat(int number[],int n){
for(int i = 0; i < n ; i++){
printf("%d \n",number[i]);
}
}
void SapXepTang(int number[], int n){
//khai bao bien trung gian de hoan vi
int trunggian;
//thuc hien thuat toan sap xep chon
for(int i = 0; i < n - 1; i++){
for(int j = i + 1; j < n; j ++){
//neu tim thay phan tu be hon phan tu dang xet thi doi cho 2 phan tu do cho nhau
if(number[i] > number[j]){
//hoan vi 2 phan tu
trunggian = number[i];
number[i] = number[j];
number[j] = trunggian;
}
}
}
}
void SapXepGiam(int number[], int n){
//khai bao bien trung gian de hoan vi
int trunggian;
//thuc hien thuat toan sap xep chon
for(int i = 0; i < n - 1; i++){
for(int j = i + 1; j < n; j ++){
//neu tim thay phan tu lon hon phan tu dang xet thi doi cho 2 phan tu do cho nhau
if(number[i] < number[j]){
//hoan vi 2 phan tu
trunggian = number[i];
number[i] = number[j];
number[j] = trunggian;
}
}
}
}
int main(){
//khai bao so luong phan tu
int n;
//nhap vao n
printf("NHAP VAO N: ");
scanf("%d",&n);
//khai bao mang n phan tu
int number[n];
//goi ham nhap va xuat phan tu
Nhap(number,n);
printf("MANG SAU KHI NHAP\n");
Xuat(number,n);
//goi ham sap xep tang va hien thi mang sau khi sap xep tang
SapXepTang(number,n);
printf("MANG SAU KHI DUOC SAP XEP TANG DAN\n");
Xuat(number,n);
//goi ham sap xep giam va hien thi mang sau khi sap xep giam
SapXepGiam(number,n);
printf("MANG SAU KHI DUOC SAP XEP GIAM DAN\n");
Xuat(number,n);
}
nếu lấy mã mà mã báo sai, thì điền mã là chổ Mã code là như hình sau ở bước 4
, các trường hợp khác đọc kỹ hướng dẫn trong link để vượt
ở cuối trang, hay nút màu XANH
ở gần giữa trang, coi chừng nhầm nút