Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Сложение в векторе (к примеру) первых 5 чисел


Автор: DblM0k 25.3.2012, 11:27
День добрый, поставлена задача:

Цитата

Написать программу, считывающую ряд чисел и записывающую их в vector<int>. После того как пользователь введет все числа, он может попытаться определить, сколько чисел он ввел, чтобы найти их сумму. Выведите ответ N равный количеству элементов в векторе.
Например:
"Пожалуйста, введите несколько чисел (для прекращения ввода введите |)
>12 23 13 24 15 |
"Пожалуйста, введите количество чисел, которые хотите просуммировать (начиная с первого):"
>3  
"Сумма первых 3 чисел: 12, 23 и 13 равна 48."

Код

int main()
{
    vector <int> digits;
    int temp;

    while (cin >> temp)
        digits.push_back(temp);

    int sum = 0;
    for (int i = 0; i < digits.size(); ++i)
    {
        sum += digits[i];
        cout << digits[i] << '\t';
    }
    cout << '\n' << '\n' << sum;

    return 0;
}

все вроде норма, суммирует и т.д. в общем делает то что надо, но...
как сделать это:
Цитата

"Пожалуйста, введите количество чисел, которые хотите просуммировать (начиная с первого):"
>3  
"Сумма первых 3 чисел: 12, 23 и 13 равна 48."

спасибо smile

Автор: bsa 26.3.2012, 08:14
Цитата(DblM0k @  25.3.2012,  12:27 Найти цитируемый пост)
как сделать это:

в строке 8 пишешь:
Код
int n;
cout << "Please, input quantity of numbers that you want to sum: " << flush;
cin >> n;
В строке 10 заменяешь digits.size() на n.

Потом, при желании, можешь сделать проверку n, чтобы она была не больше digits.size(), но больше 0.

Автор: mes 26.3.2012, 11:03
DblM0k, на будущее : http://cplusplus.com/reference/std/numeric/accumulate/ 

Автор: DblM0k 26.3.2012, 14:28
Спасиб мужики, приму на заметку

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)