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

Как сделать, чтобы функция считала с точностью до - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обработка функции recv структуры SOCKET http://www.cyberforum.ru/cpp-beginners/thread963130.html
Прошу помощи как обработать полученную информацию из функции recv структуры SOCKET. к примеру: char buf="GooD";char mass; retVal = recv(clientSock, mas, mas, 0); if(strcmp(buf,mas)!=0){cout<<"Не равны"<<endl;} else {cout<<"Равны"<<endl;}//Но сравнение не происходит , всегда "Не равны" ,в чем ошибка ?
C++ Перевести число из любой системы счисления (2, 8, 16) в десятичную Надо перевести число с любой численной системы (2,8,16) в десятичную. Кому не трудно, помогите) http://www.cyberforum.ru/cpp-beginners/thread963128.html
Условие C++
Добрый вечер! Казалось бы простенькая задачка, но никак не могу довести ее до ума. Может кто подскажет. Собственно задача Даны 2 точки проверить попадание в заштрихованную область (см. скрин) Условие double function = pow ( x, 2 ) + pow ( y, 2 ); if ( ( x >= 0 && y >= 0 && function >= 0.25 && function <= 1 ) || ( x >= 0 && y <= 0 && function >= -0.25 && function >= -1 ) )...
Алгоритм вычисления функции C++
Помогите пожалуйста, составить алгоритм вычисления функции: P.S. очень извиняюсь за картинку вместо текста, но не знаю как это правильно изобразить текстом.
C++ Двунаправленный список c несколькими эл-ми http://www.cyberforum.ru/cpp-beginners/thread963120.html
собственно есть у меня список, задаю его таким образом struct Node //Структура являющаяся звеном списка { int x; //Значение x будет передаваться в список Node *Next,*Prev; //Указатели на адреса следующего и предыдущего элементов списка }; class List //Создаем тип данных Список
C++ Дійсні корені Задано коефіцієнт квадратного рівняння a,b,c. Визначити чи має рівняння дійсні корені подробнее

Показать сообщение отдельно
ooops!
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 4
26.09.2013, 19:50     Как сделать, чтобы функция считала с точностью до
Здравствуйте. Нужно написать программу. выполнил все пункты кроме одного. А именно, не знаю как сделать, чтобы функция считала с точностью до....
Вот текст задания:
"Написать функцию вычисления cosinus с помощью ряда Тейлора cosinus(x) =1 - x2/2! + x4/4! … + ((-1)n *x2n)/(2n!) с точностью до eps=0.0001. В качестве параметра передать 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
#include <conio.h>
#include <iostream>
#include <math.h>
 
using namespace std;
 
int func(int);
float fact(int);
 
int main(){
    int x;
    cout<<"Введите значение: "<<'\n';
    cin>>x;
    
    func(x);
    getch();
}
float fact(int n){
         if(n<=0) return 1;
         else return n*fact(n-1);
    }
    
int func(int x){
    
    float eps = 0.0001;
    float s = 0.0;
    int n = 3;
    
  
   
    while(s>=eps)
    {
                s+=(((-1)*n)*x*2*n)/(2*fact(n));
                cout<<s;
    }
    
    //cout<<s;
    
}
проблема в последнем while я так понимаю. подскажите. спасибо)

Добавлено через 8 минут
Хотя, я всмотрелся в сточку s+=(((-1)*n)*x*2*n)/(2*fact(n));
тут тоже содержится ошибка. нам сказано: "1 - x2/2! + x4/4! … + ((-1)n *x2n)/(2n!)". А у меня выполняется только это:
((-1)n *x2n)/(2n!)

Добавлено через 4 минуты
чуть подправил функцию" func":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int func(int x){
    
    float eps = 0.0001;
    float s = 0.0;
 int i = 1;
    
  
   
    while(s>=eps)
    {
                s+=1 + (((-1)*i)*x*2*i)/(2*fact(i));
                i++;
                cout<<s;
                if(i>20) break;
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru