mọi người giúp me cái này với
em làm một cái bigint co đầy dủ + - * / ở phần * và chia thì em gặp vấn đề
là nếu em chi nhập 5 * 2 hay 6 * 9 thi vẫn bình thường nhưng nếu 20 * 2 hay 2 * 20 thi kết quả là 0. đây là code của em.
const Bigint & Bigint::operator*=(const Bigint & b)
{
int num = 0;
int carry = 0;
for (int i = 0; i < DIGITS; i++)
{
num = (*this).digits[i] * b.digits[i] + carry;
carry = num > 9;
(*this).digits[i] = num - (carry ? 10 : 0);
}
return *this;
}
Bigint operator* (const Bigint& a, const Bigint& b) {
Bigint re(a);
re*= b;
return re;
}
em cảm ơn nhiều lắm