Professional Documents
Culture Documents
Bai 03
Bai 03
#include <algorithm>
class PhanSo {
private:
int TuSo; // Tử số
int MauSo; // Mẫu số
public:
// Hàm khởi tạo
PhanSo(int tu, int mau) : TuSo(tu), MauSo(mau) {}
PhanSo() {}
// Input
friend istream& operator>>(istream& is, PhanSo& other) {
cout << "Nhap tu so : ";
is >> other.TuSo;
cout << "Nhap mau so : ";
is >> other.MauSo;
return is;
}
// Output
friend ostream& operator<<(ostream& os, const PhanSo& other) {
os << other.TuSo << " / " << other.MauSo << endl;
return os;
}
// So sánh 2 phân số
bool operator<(const PhanSo& other) const {
return TuSo * other.MauSo < MauSo * other.TuSo;
}
class DSPhanSo {
private:
PhanSo* phanso;
int capacity;
int size;
public:
DSPhanSo(int cap) : capacity(cap), size(0) {
phanso = new PhanSo[capacity];
}
// Hủy bỏ bộ nhớ
~DSPhanSo() {
delete[] phanso;
}
int main() {
int n;
cout << "Nhap so phan tu trong mang: ";
cin >> n;
DSPhanSo PS(n);
// Tính tổng
PhanSo Tong = PS.tinhTong();
cout << "Tong cua cac phan so la: " << Tong << endl;