Để thực hiện việc sắp xếp mảng theo chiều giảm dần, ta cần thực hiện các bước lặp và thực hiện kiểm tra điều kiện.

Ta chọn lần lượt các phần tử có trong mảng và chọn từ phần tử đầu tiên đến phần tử gần cuối của mảng trên để đem so sánh với các phần tử còn lại trong mảng , nếu phần tử đang được chọn nhỏ hơn phần tử bất kỳ nào nằm trong danh sách thì sẽ thực hiện đổi chỗ hay hoán vị vị trí cho hai phần tử này, ngược lại thì giữ nguyên vị trí.

Chương trình sắp xếp giảm dần các phần tử trong mảng ngôn ngữ C/C++

#include <stdio.h>
int main(){
    //khai bao so luong phan tu
    int n = 10;
    //khai bao mang
    int number[n] = {8,5,2,6,9,3,1,4,0,7};
    //khai bao bien trung gian de hoan vi
    int trunggian;
    //hien thi mang ban dau
    printf("MANG BAN DAU\n");
    for(int i = 0; i < n; i++){
        printf("%d \n", number[i]);
    }
    //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;
            }
        }
    }
    
    //hien thi mang sau khi sap xep giam dan
    printf("MANG SAU KHI SAP XEP GIAM DAN\n");
    for(int i = 0; i < n; i++){
        printf("%d \n", number[i]);
    }
    
}

Hàm sắp xếp giảm dần các phần tử trong mảng ngôn ngữ C/C++

#include <stdio.h>
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 = 10;
    //khai bao mang
    int number[n] = {8,5,2,6,9,3,1,4,0,7};
    //hien thi mang ban dau
    printf("MANG BAN DAU\n");
    for(int i = 0; i < n; i++){
        printf("%d \n", number[i]);
    }
    //goi ham sap xep giam va truyen vao mang can sap xep va so luong phan tu
    SapXepGiam(number,n);
    //hien thi mang sau khi sap xep giam dan
    printf("MANG SAU KHI SAP XEP GIAM DAN\n");
    for(int i = 0; i < n; i++){
        printf("%d \n", number[i]);
    }
    
}

By alaza7

Leave a Reply

Your email address will not be published. Required fields are marked *