Проблемы с факториалом
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Помогите новичку пожалуйста. В задании нужно найти сумму ряда, вроде все правильно только незнаю как задать, что бы вычислял факториал.
Вычисление факториала на C++ — http://code-live.ru/post/cpp-recursive-factorial-calculating/.
Эт я знаю, а вот как вставить сюда?
Просто определите функцию
fact
в коде. У вас переменнаяe
, скорее всего, должна быть вещественной. Если это «эпсилон», задающий точность вычислений.legron3000, «незнаю» пишется раздельно. Это во-первых. Во-вторых, в коде ниже показано как вставить функцию факториала в программу. Кстати, я использовал итерационный алгоритм — он быстрее и дешевле, чем рекурсивный. В-третьих, я попытался немножко привести в порядок твой код. При этом обнаружил несколько ошибок: (1) выражение для вычисления члена ряда написано по-разному; (2) переменная N в цикле не изменяется, всегда равна 2 — видимо ошибка; (3) переменная Y не накапливает сумму ряда, а всегда содержит последний вычисленный член ряда; (4) типы переменных определены не правильно: например Y, типа int, ни как не может корректно содержать значение функции синус.
Я вынес вычисление n-ного члена ряда в отдельную функцию, дабы код не дублировался. Проверь, правильно ли я угадал формулу )) Убрал повторное вычисление очередного члена ряда из цикла. Ну и ещё кое-чего по мелочи.
тоже как вариант но я потом сделал по другому:
Не будет оно у тебя правильно работать.
(1). Это — разные выражения:
(2). В Y сумма ряда накапливаться не будет.
(3) Значение выражения sin(x+n/n!) будет стремиться к sin(x), т.е. к некой константе (x не изменяется). Скорее всего условие в while не будет работать как должно.
(4) Переменная e — целая. Если «е» символизирует «эпсилон», т.е. некий предел точности вычислений, то маловероятно, что тебя устроят значения 0, 1 или -1, учитывая, что область значений синуса [-1, 1].
(5) За неумение написать простейшую функцию (факториал) — на пересдачу однозначно.
(6) За неумение/нежелание разобраться в чужом решении — 1 год психотерапии в рядах Советской Армии.