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

гиперболический тангенс - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Slosh
0 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 4
27.02.2011, 17:03     гиперболический тангенс #1
Надо написать программу в си, вычисляющую гиперболический тангенс через итерационную формулу.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
27.02.2011, 18:53     гиперболический тангенс #2
Проще всего воспользоваться равенством:
th X = (e^2x - 1) / (e^2x + 1)
Задача сводится к нахождению e^2x с заданной степенью точности.
Slosh
0 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 4
28.02.2011, 15:43  [ТС]     гиперболический тангенс #3
Спасибо))
а можно ещё вопрос...
вот есть программа, не могу понять ошибку...
то ли синтаксис, то ли что
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include<stdio.h>
 
#include<conio.h>
 
#include<math.h>
 
void main()
 
{
 
 float x,e,y_st,y,q,ex,s,a;
 
 int i,p;
 
 clrscr();
 
 printf("Введите степень в которую будет возводится Exp,\nx=");
 
 scanf("%f",&x);
 
 printf("Введите точность с которой будет отыскиваться Exp в степени х,\n E=");
 
 scanf("%f",&e);
 
 p=floor(x);     //Выделение целой части х - p
 
 q=x-p;          //Выделение дробной части х - q      
 
 ex=exp(1);
 
 y=1;
 
 i=1;
 
 if(x)
 
 {
 
  if(p)
 
  {
 
    do
 
    {
 
     y*=ex;
 
     i++;
 
    }
 
    while(i<=fabs(p));
 
    if(p<0)
 
    y=1/y;
 
    else;
 
  }
 
  else;
 
  if(q)
 
  {
 
    s=1;
 
    a=1;
 
    i=1;
 
    do
 
    {
 
    a*=q/i;
 
            s+=a;
 
    i++;
 
    }
 
    while(fabs(a)>=e/y);
 
    y*=s;
 
  }
 
  else;
 
 }
 
 else;
 
 y_st=exp(x);
 
 printf("\nРасчетное значение Exp в степени %g равно %f",x,y);
 
 printf("\nЗначение Exp в степени %g по стандартной библиотеке Си равно %f",x,y_st);
 
 getch();
 
}
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
01.03.2011, 03:26     гиперболический тангенс #4
все else; можно удалить

C
1
2
3
4
5
        s=1;
 
        a=1;
 
        i=1;
можно записать в виде s = a = i = 1;

C
1
p=floor(x);     //Выделение целой части х - p
выделение целой части делается через modf()
Yandex
Объявления
01.03.2011, 03:26     гиперболический тангенс
Ответ Создать тему
Опции темы

Текущее время: 03:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru