Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
ssv36rus
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 11
1

не могу понять почему не работает программа

09.12.2011, 15:29. Просмотров 513. Ответов 9
Метки нет (Все метки)

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 <conio.h>
#include <clocale>
#include <cmath>
using namespace std;
int main ()
{
setlocale (LC_ALL, "Russian"); 
cout <<"Функция Ln(x-1) через формулу Тейлора \n";
double x,E,step,sl,S;
int n;
cout <<"Введите x=";
cin >>x;
E=00001;
if 
(x<-1||x>=1) cout <<"Ошибка";
 
for (step=x,sl=x,n=1,S=0;abs(S)>=E;n*=2,step*=pow(x,2),sl+=step/n,S+=-sl);
 
cout<<S<<"\n";
cout<<log(1-x);
 
_getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2011, 15:29
Ответы с готовыми решениями:

Не могу понять почему не работает программа
int f,x,a,b,c; cin&gt;&gt;x; if (x&gt;0) {f=pow(-x,4); cout&lt;&lt;f;} else {f=x+92; cout&lt;&lt;f;} if...

Не могу понять, почему программа неправильно работает!
Изучаю С++ по Страуструпу Б. - Программирование. Принципы и практика использования C++. Есть...

Не могу понять почему программа работает не правильно!
Задание: Программа находит в строке 1 символ который не входит во 2 заданную строку. Помогите...

Не могу понять почему программа работает некорректно (односвязные списки)
Построить однонаправленный список чисел. Затем исключить из него все повторы чисел, оставить каждое...

Не могу понять почему программа не выводит результат (простейшая программа)
Здравствуйте уважаемые форумчане! Я начал изучать C++ при помощи книги. На днях я столкнулся со...

9
Delpix
delpix.ru
19 / 19 / 3
Регистрация: 06.05.2011
Сообщений: 235
09.12.2011, 17:10 2
Цитата Сообщение от ssv36rus Посмотреть сообщение
#include <iostream>
#include <conio.h>
#include <clocale>
#include <cmath>
using namespace std;
int main ()
{
setlocale (LC_ALL, "Russian");
cout <<"Функция Ln(x-1) через формулу Тейлора \n";
double x,E,step,sl,S;
int n;
cout <<"Введите x=";
cin >>x;
E=00001;
if
(x<-1||x>=1) cout <<"Ошибка";

for (step=x,sl=x,n=1,S=0;abs(S)>=E;n*=2,step*=pow(x,2),sl+=step/n,S+=-sl);

cout<<S<<"\n";
cout<<log(1-x);

_getch();
return 0;
}
Суть проблемы?
0
ssv36rus
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 11
09.12.2011, 17:19  [ТС] 3
Delpix, смысла твоего вопроса я не понял,условие такое посчитать ln(1-x) с помошью разложения в ряд тейлора x принадлежит [-1,1);
x-само число
step - x в степени n
n-степень и число в знаменатиле
sl-это слагаемое которое получется в результате x(в степени n)/n
S-это сумма всех слагаемых в ряде,тоесть сам ответ

программа запускается ,но ответ не даёт,просто пустое поле
0
Миниатюры
не могу понять почему не работает программа  
Delpix
delpix.ru
19 / 19 / 3
Регистрация: 06.05.2011
Сообщений: 235
09.12.2011, 17:26 4
Цитата Сообщение от ssv36rus Посмотреть сообщение
программа запускается ,но ответ не даёт,просто пустое поле
Вот что я хотел узнать
0
ssv36rus
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 11
09.12.2011, 17:32  [ТС] 5
Delpix, понятно)))ну так есть предположения как можно исправить?а то я уже пол дня над ней сижу

Добавлено через 2 минуты
Delpix, и это как я понял его циклит,я какие то махинации проводил и он выдавал ответ,но он зацикливался
0
Delpix
delpix.ru
19 / 19 / 3
Регистрация: 06.05.2011
Сообщений: 235
09.12.2011, 17:49 6
Цитата Сообщение от ssv36rus Посмотреть сообщение
Delpix, понятно)))ну так есть предположения как можно исправить?а то я уже пол дня над ней сижу

Добавлено через 2 минуты
Delpix, и это как я понял его циклит,я какие то махинации проводил и он выдавал ответ,но он зацикливался
Можешь дать пример правильного решение? К примеру если х=-1 чему равна S?
0
ssv36rus
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 11
09.12.2011, 17:53  [ТС] 7
Delpix, при x = 0.2 s=-0.223...
0
Delpix
delpix.ru
19 / 19 / 3
Регистрация: 06.05.2011
Сообщений: 235
09.12.2011, 17:55 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
25
#include <iostream>
#include <clocale>
#include <cmath>
using namespace std;
int main ()
{
setlocale (LC_ALL, "Russian"); 
cout <<"Функция Ln(x-1) через формулу Тейлора \n";
double x,E,step,sl,S;
int n;
cout <<"Введите x=";
cin>>x;
E=00001;
if(x<-1||x>=1) 
cout<<"Ошибка";
for (step=x,sl=x,n=1,S=0;abs(S)>=E;n*=2);
    {
    step*=pow(x,2);
    sl+=step/n;
    S+=-sl;
    }
cout<<S<<endl;
cout<<log(1-x)<<endl;
return 0;
}
1
ssv36rus
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 11
09.12.2011, 18:03  [ТС] 9
Delpix, спасибо вроде работает,но в чём была ошибка?
0
Delpix
delpix.ru
19 / 19 / 3
Регистрация: 06.05.2011
Сообщений: 235
09.12.2011, 18:15 10
Походу
step*=pow(x,2);
sl+=step/n;
S+=-sl;

это операторы и они должны находится в теле цикла.

Да кстати, вот усовершенствованный вариант, теперь во время ошибки не выводятся левые числа.
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
#include <iostream>
#include <clocale>
#include <cmath>
using namespace std;
int main ()
{
setlocale (LC_ALL, "Russian"); 
cout <<"Функция Ln(x-1) через формулу Тейлора \n";
double x,E,step,sl,S;
int n;
cout <<"Введите x=";
cin>>x;
E=00001;
if(x<-1||x>=1) 
{
cout<<"Ошибка. Число должно принадлежать отрезку [-1,1)"<<endl;
}
else
{
    for (step=x,sl=x,n=1,S=0;abs(S)>=E;n*=2);
    {
    step*=pow(x,2);
    sl+=step/n;
    S+=-sl;
    cout<<S<<endl;
    cout<<log(1-x)<<endl;
    }
}
return 0;
}
0
09.12.2011, 18:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2011, 18:15

Не могу понять почему не работает (или правильно не работает)
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #define N 5 #define M 3 void main() { int a; ...

Не могу понять почему не работает
#include &lt;iostream&gt; using namespace std; int main() { double a; double b; cout&lt;&lt;&quot;vvedite...

Не могу понять почему не работает
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; const int arrSize = 15; int main()...


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

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

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