Bài 261: Sắp xếp số dương tăng dần, số âm giữ nguyên vị trí #include #include #include #define MAX 100 void nhap (int a[], int &n) { { printf("\nNhap so phan tu: "); scanf("%d", &n); if(n MAX) { printf("\nSo phan tu khong hop le Xin kiem tra lai !"); } }while(n MAX); for(int i = 0; i < n; i++) { printf("\nNhap a[%d]: ", i); scanf("%d", &a[i]); } } void xuat(int a[], int n) { for(int i = 0; i < n; i++) { printf("%4d", a[i]); } } void HoanVi(int &a, int &b) { int temp = a; a = b; b = temp; } void SapXepSoDuongTangDan(int a[], int n) { for(int i = 0; i < n - 1; i++) { if(a[i] > 0) { for(int j = i + 1; j < n; j++) { if(a[i] > && a[i] > a[j]) { HoanVi(a[i], a[j]); } } } } } int main() { int n; int a[MAX]; nhap(a, n); xuat(a, n); SapXepSoDuongTangDan(a, n); printf("\nMang sau sap xep so duong tang dan: "); xuat(a, n); getch(); return 0; }