Yêu cầu
SẮP XẾP MẢNG THEO THỨ TỰ GIẢM DẦN
- Input: Nhập vào từ bàn phím 1 mảng các số nguyên. Mảng gồm n phần tử
- Output: Xuất ra màn hình kết quả mảng đã sắp xếp
Hướng dẫn giải
Code
/*
BÀI 3: SẮP XẾP MẢNG THEO THỨ TỰ GIẢM DẦN
Input: Nhập vào từ bàn phím 1 mảng các số nguyên. Mảng gồm n phần tử
Output: Xuất ra màn hình kết quả mảng đã sắp xếp
*/
#include<stdio.h>
#include<conio.h>
// Ham hoan vi 2 so
void hoanVi(int *so1, int *so2) {
int temp;
temp = *so1;
*so1 = *so2;
*so2 = temp;
}
int main() {
// 1. Khai báo biến
int N;
// 2. INPUT nhập liệu
printf("Moi nhap N: ");
scanf("%d", &N);
// 3. Khoi tao mang 1 chieu gom N phan tu
int dsconso[N];
// 4. Duyet vong lap tu 0->N. Moi nguoi dung nhap lieu
for(int i=0; i<N; i++) {
printf("Moi nhap phan tu vi tri thu %d: ", i);
scanf("%d", &dsconso[i]);
}
// 4. OUTPUT xuất ra màn hình
printf("=== CHUONG TRINH TIM GIA TRI LON NHAT VA NHO NHAT TRONG MANG ===\n");
printf("Thong tin:\n");
printf("- Mang vua nhap la\n");
for(int i=0; i<N; i++) {
printf("%d ", dsconso[i]);
}
// 5. Sap xep mang theo thu tu GIAM DAN
for(int i=0; i<N; i++) {
for(int j=i+1; j<N; j++) {
if(dsconso[i] < dsconso[j]) {
hoanVi(&dsconso[i], &dsconso[j]);
}
}
}
// 6. In ra man hinh ket qua
printf("\nMang sau khi sap xep GIAM DAN:\n");
for(int i=0; i<N; i++) {
printf("%d ", dsconso[i]);
}
getch(); // Lenh dung man hinh
return 0;
}
|