All right, so this time I have an assignment to add two positive integers up to 20 digits long and output the two entries along with the sum. To this point I've been able to get the program to compile but the output is out of whack. Here's what I've got, and an example of the output:

And a sample output:Code:#include <iostream> using namespace std; int main() { char augend[20] = {0}, addend[20] = {0}, sum[21], temp[20]; int aug = 0, add = 0, sumc = 20, tempc = 0; int carry = 1; cout << "This program adds two positive integers up to 20 digits long." << "\n\n"; cout << "Enter the augend: "; cin >> noskipws >> temp[0]; while(temp[tempc]!='\n') { tempc++; cin >> temp[tempc]; } cout << "Enter the addend: "; cin >> noskipws >> addend[0]; while(addend[add]!='\n') { add++; cin >> addend[add]; } for(aug=tempc; aug>=0; aug--, tempc--) { augend[aug] = temp[tempc]; } for(aug=19, sumc=20; aug>=0, sumc>=0, add>=0; aug--, sumc--, add--) { if(augend[aug] + addend[add] >= 10) { sum[sumc] = augend[aug] + addend[add] - 10; sum[sumc - 1] = carry; } else { sum[sumc] = augend[aug] + addend[add]; } } temp[tempc]='\0'; addend[add]='\0'; cout << "\n\n" << temp << "+" << addend << "=" << sum << ".\n"; return 0; }

All right, what's screwy here? I have a feeling part of it is due to the addition of the two arrays (augend and addend) - I'm not confident I've done that right. Advice/assistance?Code:This program adds two positive integers up to 20 digits long. Enter the augend: 2021 Enter the addend: 395 2021 +395 = R@.