Mình đang viết 1 hàm có chức năng cộng 2 số bằng Chuỗi nhưng bị gặp lỗi !
Source code: http://codepad.org/zaopvj5F
void ChuanHoaChuoi(std::string s1, std::string s2)
{
int len1 = s1.length();
int len2 = s2.length();
int Min = len1 < len2 ? len1 : len2, Max = len1 > len2 ? len1 : len2, space = Max - Min;
if (Min == len1)
{
for (int i = 0; i < space; i++)
{
s1.insert(s1.begin(), '0');
}
}
else if (Min == len2)
{
for (int i = 0; i < space; i++)
{
s2.insert(s2.begin(), '0');
}
}
}
std::string Tong(std::string s1, std::string s2)
{
int r = 0, idx = 0;
std::string a;
ChuanHoaChuoi(s1, s2);
int len = s1.length();
for (int i = len - 1; i >= 0; i--)
{
int digit = (s1[i] - 48) + (s2[i] - 48) + r;
r = digit / 10;
digit %= 10;
a[idx++] = digit + 48;
}
if (r != 0)
a[idx++] = r + 48;
// a[idx] = '\0';
strrev((char *)a.c_str());
return a;
}
int main()
{
std::string s1, s2;
std::cout << "\nNhap so thu 1: ";
std::cin >> s1;
std::cout << "\nNhap so thu 2: ";
std::cin >> s2;
std::string s3;
s3 = Tong(s1, s2);
std::cout << "\nKet qua tong = " << s3 << std::endl;
system("pause");
return 0;
}
Nhưng khi compile & run thì bị lỗi như sau:
Mọi người giúp mình nhé, xin cảm ơn rất nhiều