+1

What's the problem?

#include <iostream> using namespace std; int main() { int a=0; int b[3]; cin>> b[0]>>b[1]>>b[2]; cout<< "Sum of all digits:"<< endl; for(int x=0 ; x>3 ; x++){ cout<<a+=b[x]; cout<<endl; } return 0; }

3/29/2020 11:35:00 AM

Manas Negi

10 Answers

New Answer

0

what you have done will print the sum at each step, if you want to print just the total sum use this instead : #include <iostream> using namespace std; int main() { int a=0; int b[3]; cin>> b[0]>>b[1]>>b[2]; cout<< "Sum of all digits: "; for(int x=0 ; x<3 ; x++){ a+=b[x]; } cout <<a<<endl; return 0; } I just moved the cout out of the loop.

+1

You didn't print "a"

+1

the for loop have a problem, it should be: for (int x=0; x<3;x++)

+1

0

The ">>" operator used with std::cout has precedence over the "+=" operator, thus the line cout << a += b[ x ]; is interpreted as printing 'a' and then adding the value of "b[ x ]" to the output stream, which is not possible. Wrapping the assignment in parentheses should fix this problem, i.e. cout << ( a += b[ x ] );

0

Sagar Thapaliya The code that is currently in the thread's description fails to compile due to what I said earlier, you can try it yourself.

0

Shadow yes you are right but I was only trying to say that he edited the post😂

0

The answer by Shadow was appropriate ! Answer by John Robotane was also correct but it didn't worked after it too.

0

John Robotane Thanks man!

0

x < 3