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

Как использовать несколько циклов?

28.04.2021, 19:28. Показов 647. Ответов 6

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста.
Учитывая действительное число x. Рассчитайте выражение, показанное на картинке. Нужно решить эту задачу используя цикл, но не получается. x-(x^3/3!)+(x^5/5!)-(x^7/7!)+(x^9/9!)-(x^11/11!)+(x^13/13!).
Как использовать несколько циклов?

Хотел использовать несколько циклов, чтобы сперва определить значения для степени и факториалов. Потом всё суммировать чередуя + и -.
Можно ли объединить эти циклы?(У меня мало опыта*)
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>
#include <cmath>
using namespace std;
 
int main()
{
 
    int x;
    cin>>x;
    double q,n;
    q=1;
    n=1;
    for(int i=1; i<=13; i+=2){   //Цикл для вывода 3,5,7,9,11,13, но в конце остаётся 13 и дальше всё испортит
        for(int e=1; e<=i; e++){  //Цикл для факториала
         n = n*e ;
         
        }
        x+= pow(x,i)/n;   //Для вывода суммы(Нашёл это в интернете, но, кажется формула не правильная)
        q= -q;
 
    }   cout<<q<<endl;       
    return 0;
    
    }
Короче говоря, я не знаю, что мне делать. Вы можете предложить другой способ решения?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2021, 19:28
Ответы с готовыми решениями:

Как правильно располагать несколько циклов while ?
Можно ли вот так располагать несколько циклов while ? или между циклами нужны какие-то инструкции ?...

Как сжать несколько разных циклов?
Можно ли сжать этот кусок кода? for (int yy = 0; yy &lt; aq; yy++) { for (int yep = 0; yep &lt;...

Как правильно использовать несколько файлов
Доброе время суток, появилась необходимость разбить программу на несколько файлов в которых...

Можно ли использовать несколько раз setlocale? Если да, то как?
Можно ли использовать несколько раз setlocale? Если да, то как ?Мне это нужно только лишь потому,...

6
Мозгоправ
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
28.04.2021, 20:22 2
ZeNak, посмотрите как это делается в Вычисление функций разложением в ряд Тейлора.
0
0 / 0 / 0
Регистрация: 28.04.2021
Сообщений: 2
29.04.2021, 15:11  [ТС] 3
Исправил! Теперь код работает.

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 <cmath>
using namespace std;
 
int main()
{
 
    int x;
    cin>>x;
    double q,z;
    q= -1;
    z= 0;
    for(int i=3; i<=13; i+=2){   
        double n=1;
        for(int e=1; e<=i; e++){  
         n = n*e ;
        }
        q*= -1;  
        z+= q*(pow(x,i)/n); 
    }   cout<<x-z<<endl;       
    return 0;
 
    }
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
29.04.2021, 15:28 4
ZeNak, а если сделать так?
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()
{
 
    double x;
    cin >> x;
    double z = 0, xn = x;
 
    for (int i = 3; i <= 15; i += 2) 
    {
        z += xn;
        xn *= - x*x / (i*(i-1));
    }   
    cout << z << endl;
    return 0;
}
1
Мозгоправ
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
30.04.2021, 14:29 5
Цитата Сообщение от ZeNak Посмотреть сообщение
Теперь код работает.
На самом деле нет.
Если вы после строки 17 поставите вывод на консоль значения n, то поймёте почему.
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
30.04.2021, 15:40 6
ZeNak, хм, еще раз внимательно посмотрел. В моей программе есть неточность:
не учитывался последний элемент. Надо исправить:
C++
1
for (int i = 3; i <= 15; i += 2)
L0M, а в коде ТС ошибок нет. Если не считать неэффективного вычисления.
По крайней мере, получаются одинаковые результаты (если подправить мою программку)
0
Мозгоправ
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
30.04.2021, 16:13 7
Цитата Сообщение от L0M Посмотреть сообщение
На самом деле нет.
Если вы после строки 17 поставите вывод на консоль значения n, то поймёте почему.
Прошу прощения. Да, программа будет работать правильно. Не заметил, что n у вас double.
0
30.04.2021, 16:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2021, 16:13
Помогаю со студенческими работами здесь

Несколько циклов while в программе
Прошу помочь примату. Недавно начал изучение языка С и столкнулся с проблемой. Если в программе...

Как использовать один и тот же case в switch несколько раз?
Как использовать один и тот же case в switch несколько раз?

Как использовать одну и ту же переменную несколько раз в одном коде
подскажите как использовать одну и туже переменную несколько раз в одном коде допустим А

Как пользоваться заголовочными файлами и использовать несколько исходных файлов?
Как пользоваться несколькими файлами cpp, и заголовками h , в Visual Studio WIN32 C++ Дайте...

Не получается запустить несколько циклов for
#include&lt;iostream&gt; using namespace std; int main() { float i,y,dx=0.01,f; ...

Объединить несколько циклов в один
Здравствуйте! Соорудил небольшую систему для прохода по одномерному массиву с целью выдергивания...


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

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