Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите пожалуйста по С++:циклы,if else http://www.cyberforum.ru/cpp-beginners/thread81974.html
Помогите пожалуйста исправить готовый код.Как можно вводить полные инициалы в массив структур и как при выводе не отображать слово none несколько раз подряд!В задаче сказано,что информацию нужно...
C++ Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. Помогите пожалуйста, как это всё записать то на С++? Не знаю... http://www.cyberforum.ru/cpp-beginners/thread81967.html
Объединить числа в матрицу C++
Подскажите пожалуйста, как составить данную программу. Если можно простыми операциями. Задача первого курса института. Язык С++ dev. 2 массива: 10 и 15 чисел. Объеденить их в матрицу 2х15....
C++ Для данного вещественного x найти значение следующей функции f, при-нимающей значения целого типа:
Для данного вещественного x найти значение следующей функции f, при-нимающей значения целого типа: 0, если x < 0, f(x) = 1, если x принадлежит [0, 1), [2, 3), … , –1, если x принадлежит [1,...
C++ Чему Учиться ??? http://www.cyberforum.ru/cpp-beginners/thread81900.html
Скачал Visual Studio 2008, хочу выучить что нить в области Visual C++, вот подскажите что лучше Win32 Api или CLR(C++/CLI: язык Visual C++ для среды) как я понял. Так в чём различия ???
C++ Проход матрицы используя указатели Никогда не любил использовать указатели, а мне сказали мол лабу надо делать еще и на указателях. Условие: узнать совпадают ли сумы элементов в масиве по строкам и столбцам. Пыталься что-то сделать,... подробнее

Показать сообщение отдельно
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10

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

02.01.2010, 03:09. Просмотров 3814. Ответов 8
Метки (Все метки)

здравствуйте! мне нужно было написать программу для вычисления арккотангенса ( 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
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.