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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
#1

сумма ряда - C++

15.02.2011, 17:31. Просмотров 845. Ответов 8
Метки нет (Все метки)

Написал прогу для нахождения суммы . Для точности 0.1 0.01 работает а дальше нет ! Почему ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<iomanip.h>
void main()
{clrscr();
 int k=1;
 float x, eps, fl,s=0;
 cout<<"vvedite x,eps "<<endl;
 cin>>x>>eps;
 fl=5*eps;
 while( fabs(fl)>eps)
 {fl=(sin(k+0.5)*x)/(2*sin(x/2));
  s=s+fl;
  k++;
 }
 cout<<"s="<<setprecision(4)<<s<<endl;
 getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2011, 17:31     сумма ряда
Посмотрите здесь:

С++ Сумма ряда. C++
Сумма ряда C++
Сумма ряда C++
Сумма ряда C++
C++ сумма ряда
Сумма ряда C++
Сумма ряда C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.02.2011, 17:48     сумма ряда #2
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.h>
#include<math.h>
 
int main()
{
    int k = 1;
    float x, eps, fl = 0, s = 0;
    cout << "vvedite x, eps " << endl;
    cin >> x >> eps;
    while(1)
    {
    fl = (sin(k+0.5)*x)/(2*sin(0.5*x));
    if(fabs(fl) > eps)
    {
        s += fl;
        k++;
    }
    else break;
    }
    cout<< "s=" << s << endl;
    cin.get();
    cin.get();
}
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
15.02.2011, 17:51  [ТС]     сумма ряда #3
Цитата Сообщение от Maxwe11 Посмотреть сообщение
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.h>
#include<math.h>
 
int main()
{
    int k = 1;
    float x, eps, fl = 0, s = 0;
    cout << "vvedite x, eps " << endl;
    cin >> x >> eps;
    while(1)
    {
    fl = (sin(k+0.5)*x)/(2*sin(0.5*x));
    if(fabs(fl) > eps)
    {
        s += fl;
        k++;
    }
    else break;
    }
    cout<< "s=" << s << endl;
    cin.get();
    cin.get();
}
Условие у цикла не понятно . Просто 1 ?
Nameless One
Эксперт С++
5764 / 3413 / 255
Регистрация: 08.02.2010
Сообщений: 7,429
15.02.2011, 17:53     сумма ряда #4
Dz111, это бесконечный цикл (т.к. 1 считается верным (true) логическим значением), выход из которого происходит при достижении необходимой точности.
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
15.02.2011, 17:54  [ТС]     сумма ряда #5
Цитата Сообщение от Nameless One Посмотреть сообщение
Dz111, это бесконечный цикл (т.к. 1 считается верным (true) логическим значением), выход из которого происходит при достижении необходимой точности.
Проверил ! та же самая проблема !
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.02.2011, 17:56     сумма ряда #6
Dz111, приведите пример ввода
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
15.02.2011, 18:00  [ТС]     сумма ряда #7
Цитата Сообщение от Maxwe11 Посмотреть сообщение
Dz111, приведите пример ввода
x=1 eps=0.0001
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.02.2011, 18:08     сумма ряда #8
Мой компилятор и вот он-лайн компилятор как видите считает, я бы рекомендовал сметь ваш БорландС++ на что-то поновее.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2011, 18:12     сумма ряда
Еще ссылки по теме:

Сумма ряда C++
Сумма ряда C++
сумма ряда C++
Сумма ряда C++
C++ Сумма ряда

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

Или воспользуйтесь поиском по форуму:
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
15.02.2011, 18:12  [ТС]     сумма ряда #9
Цитата Сообщение от Maxwe11 Посмотреть сообщение
Мой компилятор и вот он-лайновый компилятор как видите считает, я бы рекомендовал сметь ваш БорландС++ на что-то поновее.
спасибо
Yandex
Объявления
15.02.2011, 18:12     сумма ряда
Ответ Создать тему
Опции темы

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