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

Как организовать цикл? - C++

Восстановить пароль Регистрация
 
Arbes
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 28
21.11.2010, 14:52     Как организовать цикл? #1
Здравствуйте.
Вообщем имеется уравнение,в правой части которого идёт бесконечное сложение.Слагаемые появляются по такому закону x - 0.5(x^3)/3 + 0.5*3(x^5)/4*5 -0.5*3*5(x^7)/4*6*7 +...
Вообщем суммирование должно прекратиться когда условие в цикле for(думаю нет необходимости писать условие) станет ложным.Подскажите с помощью чего можно организовать создание слагаемых

Добавлено через 24 минуты
Ну или если не трудно просто какой оператор подойдёт?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dimon4ik32
13 / 13 / 1
Регистрация: 16.11.2010
Сообщений: 32
21.11.2010, 15:03     Как организовать цикл? #2
а можете сформулировать задачу целиком?
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
21.11.2010, 15:20     Как организовать цикл? #3
Цитата Сообщение от Arbes Посмотреть сообщение
Здравствуйте.
Вообщем имеется уравнение,в правой части которого идёт бесконечное сложение.Слагаемые появляются по такому закону x - 0.5(x^3)/3 + 0.5*3(x^5)/4*5 -0.5*3*5(x^7)/4*6*7 +...
Вообщем суммирование должно прекратиться когда условие в цикле for(думаю нет необходимости писать условие) станет ложным.Подскажите с помощью чего можно организовать создание слагаемых
или я недоглядел или че, но закона представления я тут не вижу...закон формирования есть только до деления, дальше /3 /4*5 /4*6*7 его как-бы нет
но приблизительно знаю как ответить:
создаете цикл бесконечный for:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
sum = x;
int sign;
const float ident = 0.5;
for (int i = 1, int st = 3; ; ++i, st+=2)
{
  //здесь что-то наподобии
   if (i % 2 != 0)
      sign = -1;
   else sign = 1;
   sum += sign * ident * pow(x, st) / ...
   
   // далее проверяешь условие выхода и выпрыгиваешь с цикла
   if(условие) break;
}
Идея понятна?
Arbes
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 28
21.11.2010, 15:47  [ТС]     Как организовать цикл? #4
Цитата Сообщение от norge_goth Посмотреть сообщение

Идея понятна?
Ну спс за идею с бесконечным циклом.
Ну а вот само условие
Уравнение log(x+sqrt(1+pow(x,2))) =x
- 0.5(x^3)/3 + 0.5*3(x^5)/4*5
-0.5*3*5(x^7)/4*6*7 +...
Вводиться х и е где е это как бы сказать точность т.е основной цикл выполняется пока е<=(правая часть - левая) при -1< х <1
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
21.11.2010, 16:01     Как организовать цикл? #5
Цитата Сообщение от Arbes Посмотреть сообщение
Ну спс за идею с бесконечным циклом.
Ну а вот само условие
Уравнение log(x+sqrt(1+pow(x,2))) =x
- 0.5(x^3)/3 + 0.5*3(x^5)/4*5
-0.5*3*5(x^7)/4*6*7 +...
Вводиться х и е где е это как бы сказать точность т.е основной цикл выполняется пока е<=(правая часть - левая) при -1< х <1
я так и думал это с числовых методов...
короче так :

1. читаешь е (cin, scanf и т.д)
2. читаешь x(и сразу же в цикле проверяешь на соответствие условию -1< х <1)
C
1
2
3
      do{
         scanf(%d, &x);
      }while (x > -1 && x < 1)
а можно и сразу с программы выпрыгнуть, можно и так выводя сообщение типа число не соответствует формату т.д
3. вычисляешь log(x+sqrt(1+pow(x,2))) и присваиваешь результат в промежуточную переменную допустим result
4. далее берешь тот цикл наподобии что я написал, но вместо условия в месте
C
1
if(условие) break;
ставишь свое типа
C
1
if (abs(result - sum)) break;
5. выводишь свой результат(количество слагаемых, время поиска и т.д)
Yandex
Объявления
21.11.2010, 16:01     Как организовать цикл?
Ответ Создать тему
Опции темы

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