Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
1

Как подсчитать сумму элементов данной последовательности через цикл?

13.01.2015, 11:58. Показов 3212. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Зедение таково.
Подсчитать сумму элементов последовательности:

1 + 1/2 - 2/3 + 3/4 - 4/5 +... + n-1/n

((((
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2015, 11:58
Ответы с готовыми решениями:

Подсчитать сумму данной последовательности через указатели на функцию
Дана последовательность вида: sin(x) + sin(sin(x)) + ... + sin(sin ... (sin(x))). Необходимо...

Найти сумму первых n элементов данной последовательности
Найти сумму первых n элементов данной последовательности. Последовательность:2,4,6,8,10... В виде...

Найти сумму нечетных элементов данной последовательности
Дана последовательность из n целых чисел. Найти сумму нечетных элементов этой последовательности....

Найти количество и сумму элементов данной последовательности, кратных 3
Ребят помогите! Дано натуральное число N и последовательность a1,a2,…,aN натуральных чисел,...

19
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
13.01.2015, 11:59 2
paradox_1326, и с чем трудности? Покажите код.
0
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
13.01.2015, 12:04  [ТС] 3
у меня вообще чушь какето получается не догоняю....с условием вывода этой последовательности.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
void main ()
{
    int n, chislo,d, s = 0;
    cout << "Vvedite n : ";
    cin >> n;
    for (int i = 0; i <= n; i++)
    {
        cout << "Vvedite chislo ";
        cin >> chislo;
        d = ((chislo - 1) / chislo);
            s += d;
    }
    cout << s;
}
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
13.01.2015, 12:05 4
paradox_1326, Вам нужно выводить последовательность? Или только сумму?
0
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
13.01.2015, 12:06  [ТС] 5
Подсчитать сумму элементов последовательности

только сумму.
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
13.01.2015, 12:06 6
Цитата Сообщение от paradox_1326 Посмотреть сообщение
cout << "Vvedite chislo ";
Я что-то не понимаю. Зачем эта переменная?
0
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
13.01.2015, 12:09  [ТС] 7
мы задаем колличество элементов последовательности ....я сам не понима.... в условие есть (n)....может это просто как последовательность...

Добавлено через 46 секунд
может я уже туплю...
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
13.01.2015, 12:10 8
Попробуйте так.
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
#include <iostream>
using namespace std;
int main ()
{
    bool fl = true;
    int n;
    int s = 1;
    cout << "Vvedite n : ";
    cin >> n;
    for (int i = 2; i <= n; i++)
    {
        if (fl)
        {
            s += ((i-1)/i);
            fl = false;
        }
        else
        {
            s -= ((i-1)/i);
            fl = true;
        }
    }
    cout << "\n" << s;
}
1
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
13.01.2015, 12:19 9
paradox_1326, вот так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
using namespace std;
 
int main(int argc, const char * argv[]) {
    int n;
    cin >> n;
    double summ = 1;
    for (int i = 2; i <= n; ++i)
        summ += (i%2 ? 1 : -1)*((double)(i-1)/(double)i);
    cout << "summ = " << summ << endl;
    return 0;
}
1
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
13.01.2015, 12:29  [ТС] 10
сумма почемуто = все время еденице
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
13.01.2015, 12:30 11
paradox_1326, я переправил пример, надо было целочисленные i и i-1 перевести в вещественный тип
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
13.01.2015, 12:32 12
paradox_1326, int замените на double.
1
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
13.01.2015, 12:36  [ТС] 13
Вот как то так.))))) Получилось.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
void main() 
{
    int n,s=1;
    cout << " Vvedite n = ";
    cin >> n;
    for (int i = 2; i <= n; ++i)
    {
        if 
            (s += (i - 1) / 1);
        else
            (s -= (i - 1) / 1);         
    }
    cout << "s = " << s<<"\n";
}
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
13.01.2015, 12:40 14
paradox_1326, это работает?
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
13.01.2015, 12:40 15
paradox_1326, эээ... Вы уверенны?
1
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
13.01.2015, 12:44  [ТС] 16
Результат выдает..))))
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
13.01.2015, 12:45 17
Гоблин-инженер, поделюсь с Вами соображениями, друг мой. Это работает... Если разобрать по частям. Иф проверяет выражение в скобках... И если оно тру - то ничего не делает. Если фолс - идёт к елс. А елс просто выполняет выражение в скобках... Но это очень странно. И неправильно.
1
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
13.01.2015, 12:47 18
Тамика, я спрашивал не о теоретической работоспособности кода, а о решении поставленной перед ним задачи. Код
C++
1
(i-1)/1
и явный целочисленный результат должен был его как-то насторожить...
Но я был не был сильно уверен, что С++ позволяет выполнить пустой оператор, а не посчитает его окончанием выражения. Благодарю за пояснение
0
0 / 0 / 3
Регистрация: 17.12.2014
Сообщений: 111
13.01.2015, 12:49  [ТС] 19
Я Понимаю.....сижу теперь пытаюсь это все собрать в кучу...трудность в том, что код нужно написать в таком формате..(это домашка)...и подругому ни как т.к. такую запись мы еще не проходили..((
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
13.01.2015, 12:52 20
Лучший ответ Сообщение было отмечено paradox_1326 как решение

Решение

paradox_1326, пишите тогда так...
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 argc, const char * argv[]) {
    int n;
    cin >> n;
    double summ = 1;
    for (int i = 2; i <= n; ++i) {
        if (i%2 != 0) {
            summ += (double)(i-1)/(double)i;
        } else {
            summ -= (double)(i-1)/(double)i;
        }
    }
    cout << "summ = " << summ << endl;
    return 0;
}
1
13.01.2015, 12:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2015, 12:52
Помогаю со студенческими работами здесь

Подсчитать сумму элементов последовательности, кратных 9
Помогите пожалйста составить программу!!! Дана последовательность целых чисел. подсчитать сумму...

Подсчитать сумму элементов последовательности, кратных 9
Помогите пожалйста составить программу!!! Дана последовательность целых чисел. подсчитать сумму...

Цикл: Найти сумму четных элементов последовательности
Дана последовательность целых чисел заканчивающихся на 0. Найти сумму четных эл-тов...

Подсчитать общую сумму и количество элементов заданной последовательности
Вышла запара с решением Хотя бы примерный алгоритм, как и что Заранее благодарю! Для...

Подсчитать сумму элементов последовательности, попадающих в заданный интервал
Дана последовательность целых чисел Подсчитать сумму элементов, попадающих в заданный интервал. ...

Вычислить сумму всех трехзначных элементов заданной последовательности (цикл while)
дано N целых,положительных чисел.Вычислите сумму всех трехзначных чисел.Решить задачу нужно...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru