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

Вычислить cos x по разложению с заданной точностью - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объединить содержимое строк в новом файле http://www.cyberforum.ru/cpp-beginners/thread600936.html
Дана строка S0, целое число N (≤ 4) и N файлов целых чисел с именами S1, …, SN. Объединить их содержимое в новом файле-архиве с именем S0, последовательно записывая в него следующие данные: размер (число эле-ментов) первого исходного файла и все элементы этого файла, размер вто-рого исходного файла и все его элементы, …, размер N-го исходного файла и все его элементы.
C++ Динамическое программирование Есть такая задача: Дана схема стены, необходимо проверить можно ли построить данную стену заданным набором кирпичей. Кирпич высот 1, а длина от 1 до 8. В стене может быть дыры, она может состоят из разных частей. Пример решения взял с задачи про сдачу Вот мое решение, но оно не всегда выдает правильное решение. На этом примере работает правильно 6 3 101101 111111 http://www.cyberforum.ru/cpp-beginners/thread600935.html
Структуры: база данных сотрудников фирмы C++
Добрый вечер. Помогите пожалуйста найти ошибку в программе. Вот код: #include <stdio.h> #include <conio.h> typedef struct firm { char fam; char dolzh;
Задача о рюкзаке (бесконечный выбор) C++
Работал на C#(не очень долго) теперь вот срочно на плюсах, написал как смог! Помогите отредактировать(многих нюансов не знаю). #include "Iostream" #include "stdafx.h" namespace proect_D { class Program {
C++ Метод, ошибка this http://www.cyberforum.ru/cpp-beginners/thread600920.html
#include <iostream> #include <string> #include <fstream> class SickKoala { private: std::string name; public: std::string getName();
C++ С++ фаил, проверка на символы bool prov(char str){ int a = strlen(str); bool q = false; for (int i=0;i<a;i++) if (str!=str) q=false; else q=true; return 0; cout<< str; } подробнее

Показать сообщение отдельно
Slowpok
4 / 4 / 0
Регистрация: 03.01.2012
Сообщений: 112
09.06.2012, 19:35     Вычислить cos x по разложению с заданной точностью
Помогите перевести и подправить программу с паскаля на с++ Суть в том, что не точно читает, проблема с циклом.

Задание:

Вычислить cos x по формуле разложением

http://www.cyberforum.ru/cgi-bin/latex.cgi?cos x = \left(1 - \frac{{4x}^{2}}{{\pi}^{2}} \right) * \left(1 - \frac{{4x}^{2}}{{9\pi}^{2}} \right)*...*\left(1 - \frac{{4x}^{2}}{{{\left(2n - 1 \right)}^{2}  \pi}^{2}} \right)*...

с заданной точностью http://www.cyberforum.ru/cgi-bin/latex.cgi?\varepsilon.


Код на паскале:

Pascal
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
uses crt;
var x,e,t,p,p1,k:real;
    n,i:integer;
begin
clrscr;
write('x=');
readln(x);
repeat
write('e>0  e=');
readln(e);
until e>0 ;
k:=4*x*x/sqr(pi);
p:=1-k;
p1:=0;
n:=1;
while abs(p-p1)>e do
 begin
  p1:=p;
  n:=n+1;
  t:=1-k/sqr(2*n-1);
  p:=p*t;
 end;
writeln('P=',p1:0:5);
write('cos(x)=',cos(x):0:5);
readln
end.
Добавлено через 20 часов 30 минут
вот что получилось, помогите доработать
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>
using namespace std;
int main()
{
    setlocale(0,"Rus");
    double x,p,eps,cosin=1,n=0;
    cout<<"(eps>0): ";
    cin>>eps;
    cout<<"x: ";
    cin>>x;
    p=4*x*x/pow(M_PI,2);
        while(p>eps)
    {
        cosin=cosin*(1-p);
        n++;
        p=4*x*x/pow((2*n-1),2)*pow(M_PI,2);
    }
    cout<<cosin<<endl;
    cout<<cos(x)<<endl;
    system("PAUSE");
    return 1;
}
Добавлено через 18 минут
помогите пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru