0

I am trying to create a programme taking two lines of imput, say

n
m1, m2, m3, ... , mn

where 1, 2, 3 ... n are all subscipts, so that n is the total number of integers that will be entered, and m1...mn are the integers themselves. Now, I want to find a way to sum m1 to mn up.

For example, if the user entered 5 as the first input line, we know that the user will input 5 numbers separated by space, but in the same line, say 12 14 17 19 28, the expected output should be 90. I understand that to take in inputs we need to use cin >> a >> b >> c >> d >> e after all the five variables have been defined. However, I am unable to find a way to solve it as the input on the first line is not always 5, and if it's 1000, it is not realistic to write cin >> a >>b ... 1000 times. Anyone can help? Thanks!

lili k
  • 1

1 Answers1

2

You said in comments:

If different lines I can still use for loop + cin. But single line when the quantity is not confirmed is hard :(

You can use a for loop regardless of whether the numbers are on a single line or on different lines. operator>> skips leading whitespace, and then stops reading on whitespace. Space and NewLine characters both count as whitespace. So, the following will work just fine (error handling omitted for brevity):

int n, num, sum = 0;
cin >> n;
for (int i = 0; i < n; ++i) {
    cin >> num;
    sum += num;
}
Remy Lebeau
  • 555,201
  • 31
  • 458
  • 770