Tại sao hàm swap không chạy?

#include <iostream>
#include <iomanip>
#include <stdio.h>

using namespace std;

class SoThuc
{
private:
    int a[];
    int n;

public:
    void nhap();
    void sapxep();
    void xuat();
};
void SoThuc::nhap()
{   int n;
    cout<<"Nhap so so thuc trong mang: ";
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cout<<"Nhap so thuc thu "<<i+1<<":";
        cin>>a[i];
    }
}
void SoThuc::sapxep()
{   int n;
    for(int i=0;i<n-1;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(a[i]<a[j])
            {
                swap(a[i],a[j]);
            }
        }
    }
}
void SoThuc::xuat()
{   int n;
    for(int i=0;i<n;i++)
    {
        cout<<a[i]<<setw(10);
    }
}
int main()
{
    SoThuc a[200];
    a[200].nhap();
    a[200].sapxep();
    a[200].xuat();

}
  1. Khai báo và định nghĩa hàm swap() ở đâu vậy bạn?
  2. Bạn hiểu thế nào về mảng? Mấy dòng trong main() là thế nào?
3 Likes
  1. Mình phải dùng gcc 5.5 mới biên dịch được.
  2. Mảng có 200 slot thì truy cập slot thứ 200 là lỗi.
  3. Ai chỉ bạn sử dụng cái này?
4 Likes

chưa khởi tạo hàm swap bạn ơi !

2 Likes

Hì cảm ơn mọi người ạ em sửa được rồi ạ

Em cảm ơn ạ . E sửa đc rồi ạ

rất quan ngại với cái gọi là sửa được rồi của bạn ấy

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?