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

Из Sin в Cos С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Warning C4700: использована неинициализированная локальная переменная "matrix" http://www.cyberforum.ru/cpp-beginners/thread168449.html
тогда еще 1 вопрос: при попытке реализовать чтение из файла в виде функции: #include <fstream> #include <iostream> #include <tchar.h> #include <math.h> #include <stdio.h> #include <iomanip>
C++ Метасимвол. Задание Входной текст хранится в файле и состоит из слов, разделенных пробилами. Ввести из клавиатуры шаблон с метасимволами (метасимвол задается в конкретном варианте). Во входном тексте найти слова (цепочки) за заданной маской. Сформировать исходный файл, превратив входной текст определенным в конкретном варианте способом. Метасимволы в шаблоне могут повторяться, но они все для конкретного... http://www.cyberforum.ru/cpp-beginners/thread168445.html
C++ Возращение результата функции в виде указателя на объект
есть функция My_Class* preprocessing(const My_Class* obj) { My_Class* Result = new My_Class(); ... return Result; } внутри неё создается указатель на локальный объект, проводятся действия и он возращается как результат функции. Читал в статье то, что так делать нежелательно.
C++ double a=1/2; cout<<a;(a=0) что не так?
#include <iostream> using namespace std; void main() { double a=1/2; cout<<a; } выводит a=0; использую 2008 студию. почему округляет до целого? Как исправить?
C++ Ошибка при выводе строки http://www.cyberforum.ru/cpp-beginners/thread168435.html
Подскажите в чем дело?? #include <iostream> #include <conio.h> #include <string.h> using namespace std; class BinarySearchTree { private:
C++ Потоки Здравствуйте, помогите пожалуйста преподаватель сказал нужно добавить код в третьем потоке(thread3), чтобы событие не происходила пока не заполнится массив. Задача: Один поток готовит матрицу в памяти M = 1000х1000 байт со случайными числами от 0 до 255. Другой поток в это время принимает с клавиатуры два числа X, Y, а третий поток – готовит на экране окно для вывода результатов расчетов. Как... подробнее

Показать сообщение отдельно
Mirajjj
 Аватар для Mirajjj
0 / 0 / 0
Регистрация: 22.10.2009
Сообщений: 5
23.09.2010, 11:52     Из Sin в Cos С++
Здраствуйте, мне нужно написать програму которая за рядами Тейлора выводит косинус . Проблема заключаеться в том ,что если програма добавляет елементы сумы Тейлора то (как у меня было в разных интерпретациях цыкла) то после 30 елемента или 70 выдает -1,#IND , а значения аргумента будут вводится от 100. Порывшись на американский сайтах нашел програму которая почти идеально решает задачу для Синуса (она с циклом Тейлора только до 10, а значение начинают незначительно (0.0000001) расходиться когда вводимый аргумент больше 1 000 000. Я хотел переделать эту програму на Косинус, но увы, некоторые части кода вообще не понимаю зачем нужны, прошу помощи и обьяснений, Спасибо.

Вот сам код функций. Которую нашел, работает на ура, но это Синус.

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
double SinHelp(double x)
{
    int i;
    double y=x, r=x;
        
        for (int i=0; i<10; i++)
            {
                y*=-x*x;
                r+=1.0/Factorial(1+2*(i+1))*y;
            }
    return r;
}
 
double SinCout(double number)//Функция которую буду выводить в главном файле
{
    double sign=1, x=number/3.141592653589793;
        if(x<0.0)
            {
                sign=-1;
                x=-x;
            }
        int i= static_cast<int>(x+0.5);
        double a=x-i;
            if((i-i/2*2)!=0)
                sign=-sign;
    return sign*SinHelp(a*3.141592653589793);
}
 
double Factorial(int num)
{
    double x=num, result=1,plus=1;
    for(int i=0; i!=x; ++i)
        {
            if(x!=0)
            {   result*=plus;
                ++plus;
            }
            if(x==0)
                result=1;
        }
    return result;
}
Очень интересует , что делает фрагмент кода :
C++
1
2
int i= static_cast<int>(x+0.5);
double a=x-i;
Прошу если кому не трудо ,не только сказать, а еще и проверить на своих компиляторах если значение аргумента косинуса будет больше 1000, будет ли оно соответствовать стандартной функцыи косинуса в С++.

Если кто не помнит...

Ряд Тейлора для Синуса

Из Sin в Cos С++

Ряд Тейлора для Косинуса

Из Sin в Cos С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru