Форум программистов, компьютерный форум CyberForum.ru

функции. (ошибка в алгоритме) - C++

Восстановить пароль Регистрация
 
Лэни
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 4
05.10.2010, 19:53     функции. (ошибка в алгоритме) #1
задание было написать программу для вычисления с заданной точностью. так вот с функцией оно не работает, т.е. результат sum и результат cos(x) различаются не с заданного разряда, а вообще полностью. какая здесь ошибка?


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
44
45
46
#include <iostream>
#include <cmath>
using namespace std;
 
double form (double x, double eps)
{
    double sum=1;
    double sl=1;
    int i=0;
    while 
        (abs(sl)>eps)
    {
        sl=((-1)*sl*x*x)/((i+1)*(i+2));
        i=i+2;
        sum=sum+sl;
    }
    return sum;
}
 
 
int main ()
{
        char answer='n';
        while (answer!='q')
        {
            setlocale (LC_ALL, ".1251");
            double x, p=3.1415926;
            double eps;
            cout<<"Введите х"<<endl;
            cin>>x;
            cout<<"Введите eps"<<endl;
            cin>>eps;
            while
                (x>2*p)
                x=x-2*p;
            while
                (x<0);
            x=x+2*p;
            x=form (x,eps);
            cout<<"Сумма="<<x<<endl;
            cout<<"cos(x)="<<cos(x)<<endl;
            cout<<"Для выхода из программы нажмите q, для продолжения - n"<<endl;
            cin>>answer;
        }
            return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
05.10.2010, 20:31     функции. (ошибка в алгоритме) #2
C++
1
2
                        while
                                (x<0);
Простите, что делает этот чудодейственный цикл ?
Лэни
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 4
05.10.2010, 23:50  [ТС]     функции. (ошибка в алгоритме) #3
проверяет x. если меньше нуля, то добавляет 2*p столько раз, пока х не станет от 0 до 2*р.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.10.2010, 23:51     функции. (ошибка в алгоритме) #4
Лэни, Да? Особенно ; после условия в тему.
Лэни
0 / 0 / 0
Регистрация: 05.10.2010
Сообщений: 4
06.10.2010, 00:01  [ТС]     функции. (ошибка в алгоритме) #5
ну мелкая синтаксическая, с кем не бывает. всё равно я уже сама нашла, в чём проблема. можно закрыть тему.
Yandex
Объявления
06.10.2010, 00:01     функции. (ошибка в алгоритме)
Ответ Создать тему
Опции темы

Текущее время: 03:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru