Mình có đoạn code nhưng khi run thì ko thể rút gọn đối số đưa vào mong mọi người giúp đỡ
#include <iostream>
using namespace std;
class PS
{
private:
int iTu;
int iMau;
public:
void nhap()
{
cin >> iTu;
do
{
cin >> iMau;
} while (iMau == 0);
}
int ucln(int a, int b)
{
if (a < 0) a = -a;
if (b < 0) b = -b;
if (a == 0) return b;
if (b == 0) return a;
while (a != b)
{
if (a > b)
a = a - b;
else a = b - a;
return a;
}
}
PS rutgon()
{
int x = ucln(iTu, iMau);
PS y;
y.iTu = iTu / x;
y.iMau = iMau / x;
return y;
}
PS tong(PS a)
{
PS tong;
tong.iTu = iTu * a.iMau + a.iTu * iMau;
tong.iMau = iMau * a.iMau;
return tong;
}
PS hieu(PS a)
{
PS hieu;
hieu.iTu = iTu * a.iMau - a.iTu * iMau;
hieu.iMau = iMau * a.iMau;
return hieu;
}
void xuat()
{
if (iTu < 0 && iMau < 0)
{
iTu = -iTu;
iMau = -iMau;
}
if (iMau < 0 && iTu>0)
{
iTu = -iTu;
iMau = -iMau;
}
cout << iTu << "/" << iMau << endl;
}
};
int main()
{
PS a, b;
a.nhap();
b.nhap();
PS c, d, e, f;
c = a.tong(b);
c.rutgon();
c.xuat();
d = a.hieu(b);
d.rutgon();
d.xuat();
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?