Почему мой код отправляется с 90, а не с 100?
я не могу найти жучка
один тестовый случай идет не так
речь идет о сумме больших чисел через строки
Что я уже пробовал:
#include <iostream> #include <string> using namespace std; //Char To Num Function int chartonum(char character) { return character - '0'; } //Num To Char Function char numtochar(int n) { return n + '0'; } //Sum Of Two String string sumofstrings(string s1, string s2) { string difzero="",sum=""; int big, small, dif,plus=0; if (s2.length() > s1.length()) swap(s1, s2); big = s1.length(); small = s2.length(); dif = big - small; for (int i = 0; i < dif; i++) difzero += '0'; for (int i = 0; i <= big ; i++) sum += "0"; s1 = '0' + s1; s2 = '0' + difzero + s2; for (int i = big; i >= 0; i--) { sum[i] = numtochar((chartonum(s1[i]) + chartonum(s2[i]) + plus) % 10); plus = (chartonum(s1[i]) + chartonum(s2[i]) + plus) / 10; } while (sum[0] == '0') { sum.erase(0, 1); } return sum; } int main() { int n; string nums[20], sum="0"; cin >> n; //Taking Numbers As Strings for (int i = 0; i < n; i++) { cin >> nums[i]; } //Sum for (int i = 0; i < n; i++) { sum = sumofstrings(sum, nums[i]); } //Print Sum cout << sum << endl; }