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

программа C++ для вычисления функции y=f(x)=arccot(x). всё ли правильно?? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите пожалуйста по С++:циклы,if else http://www.cyberforum.ru/cpp-beginners/thread81974.html
Помогите пожалуйста исправить готовый код.Как можно вводить полные инициалы в массив структур и как при выводе не отображать слово none несколько раз подряд!В задаче сказано,что информацию нужно сохранять в динамически выделенном массиве структур,а затем вывести на экран имена вкладчиков,и если в какой то категории не окажется вкладчиков то напечатать none. #include <cstdlib> #include...
C++ Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. Помогите пожалуйста, как это всё записать то на С++? Не знаю язык С++ просто! http://www.cyberforum.ru/cpp-beginners/thread81967.html
C++ Для данного вещественного x найти значение следующей функции f, при-нимающей значения целого типа:
Для данного вещественного x найти значение следующей функции f, при-нимающей значения целого типа: 0, если x < 0, f(x) = 1, если x принадлежит [0, 1), [2, 3), … , –1, если x принадлежит [1, 2), [3, 4), … .
C++ Чему Учиться ???
Скачал Visual Studio 2008, хочу выучить что нить в области Visual C++, вот подскажите что лучше Win32 Api или CLR(C++/CLI: язык Visual C++ для среды) как я понял. Так в чём различия ???
C++ Программа работает, не не совсем правильно... http://www.cyberforum.ru/cpp-beginners/thread81853.html
Напечатать вектор первых букв слова, которые начинаются и заканчиваются на указаный символ (т.е. надо вывести адрес строки и адреса первых букв слов, удовлетворяющих условию). В принципе программа работает, но у меня есть подозрения, что выводимые адреса символов неверные. void task3(){ char *s, c, z; int i, p, t; cout<<"Input z:"; cin>>z; printf ("Intut basic string:\n"); s=new...
C++ Выдаёт ошибку... Строчка 32. #include <iostream> #include <conio.h> #include <math.h> #include <stdio.h> using namespace std; bool prime(int n) { bool v; подробнее

Показать сообщение отдельно
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10
02.01.2010, 03:09     программа C++ для вычисления функции y=f(x)=arccot(x). всё ли правильно??
здравствуйте! мне нужно было написать программу для вычисления арккотангенса ( y=f(x)=arccot(x) ) с использованием формулы суммы (разложения) для|x|< 1. (формулу я, к сожалению, не могу сюда скопировать). без использования стандартных математических функций. также нужно было протестировать с каким-нибудь х. вычисление нужно прервать, когда разница значений двух следующщих друг за другом членов z i и z i+1 меньше epsilon или когда будут сложены максимум 20 членов суммы. я ввела 2 вспомогательные функции mypow и myabs. в формуле используется π/2, в программе это значение - константа.

на правильном я вообще пути? =) извините, что некоторые комменты на немецком (я в германии)
спасибо!!!!

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
Kurzbeschreibung:
Berechnet die Funktionswerte der inversen trigonometrischen Funktion y = f(x) = arccot(x), wenn |x|<1 
Fuer die Berechnung wird Summenformel verwendet 
Da "cmath" nicht anzuwenden sind, wurden zwei Hilfsfunktionen eingefuhrt:
mypow (Potenzwert bilden)
myabs (Betrag bilden).
Berechnung bricht ab, wenn die Differenz des Betrages zweier aufeinanderfolgender Glieder z i und z i+1 kleiner als ein zu definierender Abbruchwert epsilon wird oder wenn maximal 20 Summenglieder berechnet wurden.
Fuer die Variablen wurde der Datentyp "double" verwendet um eine hohe Genauigkeit zu erreichen 
Hinweise:
Die Ergebnisse hangen von der verwendeten Genauigkeit von PI ab.
*/
/* 
name.vorname
*/
 
#include <iostream>
 
using namespace std;
 
double mypow(double basis, int exponent);
double myabs(double input);
 
int main(void)
{
//pi_2 - PI/2, уже высчитано
const double pi_2=1.5707963267948966192313216916398;
double x, epsilon=0.000001, summe, summe_alt=0;
int i;
 
cout<<"ввести значение x: ";
cin>>x;
 
if(myabs(x)<1)
{
//первый член формулы суммы
summe_alt=pi_2;
for(i=0; i<20; i++)
{
//следующие члены формулы суммы
summe=summe_alt-(mypow(-1,i)*(mypow(x,2*i+1)/(2*i+1)));
//разница zi и zi+1
if(myabs(summe-summe_alt)<epsilon) break;
summe_alt=summe;
 }
 
cout<<"\narccot("<<x<<")="<<summe;
 }
else
{
//пользователь задал неверные значения x
cout<<"\nпожалуйста, используйте значения, соответствующие условию (|x|<1)!";
 }
 
return 0;
}
 
//Funktion um Potenz zu berechnen
double mypow(double basis, int exponent)
{
int i;
double expwert=1;
 
for (i=0; i<exponent; i++)
expwert=expwert*basis;
 
return expwert;
}
 
//Funktion um Betrag zu berechnen
double myabs(double input)
{
if(input>0)
return input;
else
return -input;
 
//пользователь задал значение x
cout<<x=0.5
cout<<"y="<<y
 
return=0
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru