Toán tử tăng dần, giảm dần cho class mảng

#include<iostream>
#include<string>
#include<iomanip>
#include<stdio.h>
using namespace std;
class mang{
    float a[100];int n;
public:
    void nhap(){
        cout<<"\nNhap so phan tu mang:";cin>>n;
        cout<<"Nhap Mang:"<<endl;
        for(int i=0;i<n;++i) cin>>a[i];
    };
    void xuat(){
        cout<<"\nIn Mang:"<<endl;
        for(int i=0;i<n;++i) cout<<"a["<<i<<"]="<<a[i]<<"\t";
    };
    mang operator++(){
        for(int i=0;i<n;++i)
        for(int j=n-1;j>i;--j)
            if(a[j]<a[j-1]){
                float t=a[j];
                a[j]=a[j-1];
                a[j-1]=t;
            }
        return *this;
    }
    mang operator--(){
        for(int i=0;i<n;++i)
        for(int j=n-1;j>i;--j)
            if(a[j]>a[j-1]){
                float t=a[j];
                a[j]=a[j-1];
                a[j-1]=t;
            }
        return *this;
    }
};
int main()
{
    mang *h= new mang;
    h->nhap();
    h->xuat();
    cout<<"\nMang tang dan:"<<endl;
    ++h;h->xuat();
    cout<<"\nMang giam dan:"<<endl;
    --h;h->xuat();
    return 0;
}


Em đang cài toán tử sắp xếp tăng dần,giảm dần cho class mảng, nhưng không biết sai chỗ nào mà nó không sắp xếp đc.

Vì sắp xếp sai.
Xem lại mấy bài mẫu về sắp xếp nhé. Trên mạng tính bằng triệu bài.

  • 2 vòng lặp dùng 2 biến chạy ij. Nhưng chỉ thấy dùng toàn là j.
  • jj - 1???
  • Biến tạm là kiểu float???
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?