Форум программистов, компьютерный форум CyberForum.ru

Ввести последовательность из n целых чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.88
Xibrand
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 31
26.10.2011, 21:05     Ввести последовательность из n целых чисел #1
Всем доброго времени суток.

Требуется помощь по такой задаче:

1. ввести последовательность из N целых чисел,
2. последовательность заканчивается вводом нуля,
3. посчитать a1*N+a2(N-1)+...+an.

Массивы использовать нельзя.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2011, 21:05     Ввести последовательность из n целых чисел
Посмотрите здесь:

Вводится последовательность из N целых чисел. Сформировать последовательность, C++
ввести последовательность чисел C++
Вводится последовательность целых чисел,0 –конец последовательности. Определить, содержит ли последовательность хотя бы три отрицательных четных числа C++
C++ Заданная последовательность целых чисел. Найти количество чисел, делящихся на 3 и 5 без остатка
Запишите функцию для вычисления произведения целых чисел из диапазона от а до в. найдите произведение чисел, диапазон ввести с клавиатуры. В С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
26.10.2011, 21:12     Ввести последовательность из n целых чисел #2
Цитата Сообщение от Xibrand Посмотреть сообщение
Массивы использовать нельзя.
Ок, а если размер вводимой последовательность хрен знает сколько, то как мы узнаем N?
Но ок, без массива
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <queue>
 
using namespace std;
 
int main()
{
    queue < int > Q;
    int R = 0, X;
    cin >> X;
    while ( X )
    {
        Q.push( X );
        cin >> X;
    }
    while ( !Q.empty() )
    {
         R += Q.front() * Q.size();
         Q.pop();
    }
    cout << R << endl;
    return 0;
}
Xibrand
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 31
26.10.2011, 21:17  [ТС]     Ввести последовательность из n целых чисел #3
Проблема в том,что прошли только do while,while,for,if и #include <iostream>
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
26.10.2011, 21:24     Ввести последовательность из n целых чисел #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <list>
 
using namespace std;
 
int main(int argc, char **argv)
{
    list<int> _list;
    int val;
    cout << "Enter number: ";
    cin >> val;
    while (val)
    {
        _list.push_back(val);
        cout << "Enter number: ";
        cin >> val;
    }
    int s = 0;
    int n = _list.size();
    list<int>::iterator it = _list.begin();
    for(; it != _list.end(); ++it)
        s += *it * n--;
    cout << "S: " << s << endl;
    system("pause");
    return 0;
}
Добавлено через 1 минуту
Массивы использовать нельзя, а queue еще не прошли. И как тогда делать?
Xibrand
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 31
26.10.2011, 21:27  [ТС]     Ввести последовательность из n целых чисел #5
Массивы использовать нельзя, а queue еще не прошли. И как тогда делать?
Какая-то олимпиадная задача.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.10.2011, 21:32     Ввести последовательность из n целых чисел #6
Цитата Сообщение от Петррр Посмотреть сообщение
Массивы использовать нельзя, а queue еще не прошли. И как тогда делать?
тогда что-нибудь такое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main()
{
    int tmp=1, sum=0, tmp1=0;
    while(tmp)
    {
        cin>>tmp;
        if(tmp)
        {
            tmp1+=tmp;          
            sum+=tmp1;
        }
    }
    cout<<sum;
  
    return 0;
}
Xibrand
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 31
26.10.2011, 21:36  [ТС]     Ввести последовательность из n целых чисел #7
Благодарю.Осталось разобраться как это работает.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
26.10.2011, 21:39     Ввести последовательность из n целых чисел #8
valeriikozlov, а N?
Xibrand
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 31
26.10.2011, 21:43  [ТС]     Ввести последовательность из n целых чисел #9
Только не понял как он выходит из цикла?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.10.2011, 21:44     Ввести последовательность из n целых чисел #10
Цитата Сообщение от Петррр Посмотреть сообщение
valeriikozlov, а N?
в моем коде правильно вычисляется:
Цитата Сообщение от Xibrand Посмотреть сообщение
a1*N+a2(N-1)+...+an.
причем с заранее неизвестным N (как и дано по условию задачи).
Объяснить подробнее?

Добавлено через 32 секунды
Цитата Сообщение от Xibrand Посмотреть сообщение
только не понял как он выходит из цикла?
когда введут 0
Цитата Сообщение от Xibrand Посмотреть сообщение
последовательность заканчивается вводом нуля
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2011, 21:46     Ввести последовательность из n целых чисел
Еще ссылки по теме:

C++ Ввести массив из 10 целых чисел.Найти сумму чётных чисел
Дана последовательность целых чисел, последнее из которых 0. Найти количество 3-значных чисел C++
Ввести n положительных целых чисел. Найти количество чисел, записанных только четными цифрами C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Xibrand
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 31
26.10.2011, 21:46  [ТС]     Ввести последовательность из n целых чисел #11
Всё разобрался как работает.Спасибо большое.
Yandex
Объявления
26.10.2011, 21:46     Ввести последовательность из n целых чисел
Ответ Создать тему
Опции темы

Текущее время: 17:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru