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

Написать в одном коде циклы while и do/while

28.06.2018, 16:15. Показов 338. Ответов 8
Метки нет (Все метки)

Необходимо написать в одном коде циклы while и do while:

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
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    long double a, n=1,a_1, e=0.0001;
    
    a=pow(-1,n-1)/(pow(n,n));
    while (abs(a-a_1)<=e)
    {
        a_1=a-1;
        n++;
    }
    long double b, o=1,b_1, f=0.0001;
    b=pow(-1,o-1)/(pow(o,o));
    do
    {
        b_1=b-1;
        o++;
        }
        while(abs(b-b_1)<=f);
    cout << "an = " << a << "\nan - 1= " << a_1 << "\nn = " << n << endl <<"\n";    
    cout << "an = " << b << "\nan - 1= " << b_1 << "\nn = " << o << endl <<"\n";
    return 0; 
}
Ответы не сходятся в чём мой косяк?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.06.2018, 16:15
Ответы с готовыми решениями:

Заменить в коде циклы for на циклы while
int i, j, n; bool a; cin &gt;&gt; i &gt;&gt; n; for (i; i&lt;n; i++) { a = true; for (j = 2; j &lt;= i / 2;...

Написать программу, создающую два потока, которые выполняются в одном адресном пространстве (в одном процессе)
Здравствуйте! Есть задание: Написать программу, создающую два потока, которые выполняются в одном...

Циклы,обраб. одном. массивов
Здравствуйте! Очень прошу вашей помощи... Я в программировании, несилен.. Помогите кто сможет. ...

проблема в коде задачи на циклы
#include &lt;iostream&gt; using namespace std; int main() { int n; double sum=0;...

8
6319 / 4295 / 2463
Регистрация: 18.12.2017
Сообщений: 13,360
28.06.2018, 16:47 2
Spectr456, напишите условие задачи - потому что сложно сказать что Вы делаете сравнивая 'a' с неинициализированной 'a1'
0
0 / 0 / 0
Регистрация: 01.03.2018
Сообщений: 71
28.06.2018, 17:01  [ТС] 3
Вот задача
0
Миниатюры
Написать в одном коде циклы while и do/while  
6319 / 4295 / 2463
Регистрация: 18.12.2017
Сообщений: 13,360
28.06.2018, 18:03 4
и зачем Вам 2 цикла ? для такого условия одного цикла вполне достаточно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
int main()
{
    int n=2;
    double e=0.0001;    
  
    while (abs(pow(-1,n-1)/pow(n,n)-pow(-1,n-2)/pow(n-1,n-1))>e) n++;
    n--;    
    
    cout <<fixed<<setprecision(10)<<pow(-1,n-1)/pow(n,n)<<", "<<
    setprecision(5)<<pow(-1,n-2)/pow(n-1,n-1)<<", "<<n<<"\n";
system("pause");
return 0; 
}
0
0 / 0 / 0
Регистрация: 01.03.2018
Сообщений: 71
29.06.2018, 08:40  [ТС] 5
У меня такое задание
0
6319 / 4295 / 2463
Регистрация: 18.12.2017
Сообщений: 13,360
29.06.2018, 15:47 6
Spectr456, держите, это совсем не сложно - заодно и while подредактировал
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
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
int main()
{
    int n=1;
    double e=0.0001;    
  
    while (abs(pow(-1,n)/pow(n+1,n+1)-pow(-1,n-1)/pow(n,n))>e) n++;    
    
    cout <<fixed<<setprecision(10)<<pow(-1,n-1)/pow(n,n)<<", "<<
    setprecision(5)<<pow(-1,n-2)/pow(n-1,n-1)<<", "<<n<<"\n";
    
    n=1;
    do
    {
    n++;
    }
    while (abs(pow(-1,n)/pow(n+1,n+1)-pow(-1,n-1)/pow(n,n))>e);    
    
    cout <<fixed<<setprecision(10)<<pow(-1,n-1)/pow(n,n)<<", "<<
    setprecision(5)<<pow(-1,n-2)/pow(n-1,n-1)<<", "<<n<<"\n";
system("pause");
return 0; 
}
скобки в do while кстати необязательны
1
0 / 0 / 0
Регистрация: 01.03.2018
Сообщений: 71
29.06.2018, 23:45  [ТС] 7
Спасибо
0
0 / 0 / 0
Регистрация: 01.03.2018
Сообщений: 71
11.09.2018, 08:33  [ТС] 8
Как то не так считает : там разброс между an и an-1 должен составлять : 0.0001
0
6319 / 4295 / 2463
Регистрация: 18.12.2017
Сообщений: 13,360
11.09.2018, 10:56 9
Цитата Сообщение от Spectr456 Посмотреть сообщение
Как то не так считает : там разброс между an и an-1 должен составлять : 0.0001
должен быть меньше 0.0001
Spectr456, промахнулся на единичку. при проверке не заметил (много ноликов). извините. исправил:
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
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
int main()
{
    int n=1;
    double e=0.0001;    
  
    while (abs(pow(-1,n)/pow(n+1,n+1)-pow(-1,n-1)/pow(n,n))>=e) n++;    
    n++;
    
    cout <<setprecision(11)<<fixed<<pow(-1,n-1)/pow(n,n)<<", "
    <<pow(-1,n-2)/pow(n-1,n-1)<<", "<<n<<"\n";
    
    n=1;
    do
    {
    n++;
    }
    while (abs(pow(-1,n)/pow(n+1,n+1)-pow(-1,n-1)/pow(n,n))>=e);    
    n++;
    
    cout <<setprecision(11)<<fixed<<pow(-1,n-1)/pow(n,n)<<", "
    <<pow(-1,n-2)/pow(n-1,n-1)<<", "<<n<<"\n";
system("pause");
return 0; 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2018, 10:56

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Два textscan в одном коде
Всем добрый вечер! Собственно говоря, вопрос следующий: Использую я textscan для того, чтобы из...

Не могу разобраться в одном простом коде
этот код дизассемблера, я взял программу написанную на паскале которая всего лишь выполняет...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.