#include <vector>
#include <iostream>
#include <string>
using namespace std;
string add(pair<string, string> p, int index, int previousremainder, const string &returnstr)
{
string a = p.first;
string b = p.second;
string ret = returnstr;
/*cout << "\n-------------\n";
cout << index << endl;
cout << ret << endl;*/
//cout << "----------------\n";
//cout << previousremainder << endl;;
int x = a[a.size() - index-1]-48;
//cout << x << endl;
//cout << " " << a.size() << endl << a.size() - index << endl;
int y = b[b.size() - index-1]-48;
//cout << y << endl;
//cout << " " << b.size() << endl<< b.size() - index<<endl;
int sum = x + y + previousremainder;
//cout << sum << endl;
int thisposnum = sum % 10;
//cout << thisposnum << endl;
int remainder = sum / 10;
//cout << remainder << endl;
string addd = to_string(thisposnum);
//cout << addd << endl;
ret = addd + ret;
//cout << ret << endl;
if (a.size() - index - 1 == 0)
{
if (remainder !=0)
{
ret = to_string(remainder) + ret;
}
return ret;
}
else
{
add(p, index + 1, remainder, ret);
}
}
int main()
{
vector<pair<string, string> > vec;
int t;
cin >> t;
for (int i = 0; i < t; i++)
{
string a, b;
cin >> a >> b;
pair<string, string> temp;
temp.first = a;
temp.second = b;
vec.push_back(temp);
}
for (int i = 0; i < vec.size(); i++)
{
string a = vec[i].first;
string b = vec[i].second;
if (a.size() < b.size())
{
while (a.size() != b.size())
{
a = "0" + a;
}
}
else if (b.size() < a.size())
{
while (a.size() != b.size())
{
b = "0" + b;
}
}
cout << a << " " << b << " = ";
vec[i].first = a;
vec[i].second = b;
cout << add(vec[i], 0, 0, "") << endl;;
}
return 0;
}
Kod ma dodawać pisemnie 2 liczby, dla jednocyfrowych wynik jest dobry i nie ma żadnego błędu, gdy wprowadzam jakąś liczbę dwu albo więcej cyfrową to wygląda na to że liczy dobrze, tylko pod koniec dostaje taki oto błąd i wszystko się wyspuje
Zgłoszono nieobsługiwany wyjątek: naruszenie dostępu do odczytu.
**std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data**(...) zwrócił 0xCCCCCCCC.: wystąpił wyjątek
Próbowałem chwilę coś z tym zrobić i skończyły mi się pomysły, a nie mam zielonego pojęcia co ten błąd może oznaczać i co z tym zrobić