0 / 0 / 0
Регистрация: 09.03.2019
Сообщений: 2
1

Вывод членов ряда с использованием do while

09.03.2019, 23:42. Показов 1447. Ответов 6
Метки нет (Все метки)

Здравствуйте! Только начинаю постигать азы C++, и натолкнулся на такую вещь, как цикл. Не мог нигде найти подобное решение проблемы. Поясню: есть численный ряд: 1, - 3, 5, - 7, 9, - 11, 13, - 15, 17.
Разница между числами получается 2. Но ещё проблема есть со знаками.
Не могу правильно составить код на этот цикл. Может кто сталкивался с подобным?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2019, 23:42
Ответы с готовыми решениями:

Определить число членов ряда, необходимых для расчета с заданной погрешностью суммы членов ряда
определить число членов ряда, необходимых для расчета с заданной погрешностью суммы членов ряда:...

вычислить сумму членов ряда с использованием рекуррентную формулу,дано натуральное и действительное число с вычислением
во вложении задачи

Подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда
Добавлено через 10 часов 32 минуты Для ряда, члены которого вычисляются по формуле,...

Составить программу вычисления числового ряда для известного числа членов ряда N
Пожалуйста, как на C++ выполнить это задание, много времени потратил и все никак. Работает...

6
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
10.03.2019, 00:04 2
Николай1807, начинайте вопрос с формулировки задачи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
{
    int a=-1, n=0;
    do
    {
        a+=2;
        n++;
        if (n%2!=0) cout << a << " ";
        else cout << -a << " ";
    }
    while (a<17);
    
    cout << "\n";
system("pause");
return 0;
}
0
5237 / 2891 / 1208
Регистрация: 07.02.2019
Сообщений: 7,293
10.03.2019, 00:08 3
вот так можно просуммировать ряд итерацией:
C++
1
2
3
4
5
6
7
8
9
int summ(int count){
    if (count<=0) return 0;
    int result=0;
    int sign=-1+2*((count)%2);
    while(count){
        result+=sign*(2*(count--)-1);
        sign*=-1;
    }
    return result;
0
0 / 0 / 0
Регистрация: 09.03.2019
Сообщений: 2
11.03.2019, 08:18  [ТС] 4
Спасибо откликнувшимся, а если числа дробные? % с дробными не работает
0
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,745
11.03.2019, 09:02 5
Цитата Сообщение от Николай1807 Посмотреть сообщение
Спасибо откликнувшимся, а если числа дробные? % с дробными не работает
Не нужна тут ни операция %, ни тем более *, это неэффективно.
Ряд знакопеременный, поэтому можно просто знак хранить в отдельной переменной. Вот набросок:
C++
1
2
3
int sign = 1; /* до цикла */ 
...
sign = sign > 0 ? -1 : 1; /* после каждой итерации цикла */
0
599 / 831 / 141
Регистрация: 10.08.2015
Сообщений: 4,194
11.03.2019, 10:56 6
Цитата Сообщение от jugu Посмотреть сообщение
sign = sign > 0 ? -1 : 1;
https://www.cyberforum.ru/cgi-bin/latex.cgi?{-1}^{n}

Добавлено через 27 минут
или даже проще:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//g++  5.4.0
 
#include <iostream>
const int n = 9;
int main()
{
    int a = 1;
    int k = -1;
    for(int i = 1; i<=n; i++) {
       std::cout << a << " ";
       a += 4 * i * k;
       k = - k;
    
    }
    
    std::cout << std::endl;
    
    
    a = 1;
    k = -1;
    int i = 1;
    do {
       std::cout << a << " ";
       a += 4 * i * k;
       k = - k;
       i++;
    } while (abs (a) < 18);
    
    std::cout << std::endl;
    
    
    a = 1;
    k = -1;
    i = 1;
    
    while (abs (a) < 18) {
       std::cout << a << " ";
       a += 4 * i * k;
       k = - k;
       i++;
        
    }
}
0
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
11.03.2019, 13:10 7
Цитата Сообщение от Николай1807 Посмотреть сообщение
а если числа дробные? % с дробными не работает
поменяйте int a на double a и задайте другое начальное значение.
% применён к счётчику циклов n (это переменная целого типа).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2019, 13:10
Помогаю со студенческими работами здесь

Определить: 10 членов ряда; абсолютную разность между табличной функцией и суммой ряда
D(n)=-((x-1)*(n+1))/(n+2) Функцию pow() в программе не применять! #include&lt;iostream&gt;...

Найти 10 членов ряда, абсолютную разность между табличной функцией и суммой ряда
Требуется определить: 10 членов ряда, абсолютную разность между табличной функцией и суммой ряда....

Определение суммы членов ряда с использованием рукурентной формулы для получения следующего члена ряда.
При определении суммы членов ряда следует использовать рекуррентную формулу для получения...

Найти сумму членов ряда. На экран вывести значение суммы, число членов ряда, вошедших в сумму, и последний член ряда
Помогите пожалуйста с заданием .


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru