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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
#1

Нужен исходный код функции sinh() и cosh() из библиотеки math.h - C++

14.06.2014, 21:24. Просмотров 2473. Ответов 60
Метки нет (Все метки)

Нужен исходный код функции sinh() и cosh() из библиотеки math.h. Искал в библиотеке - не нашел.
Задача: написать программу которая будет вычислять гиперболический косинус и синус. НЕ ИСПОЛЬЗУЯ sinh() и cosh(), а также не использовать функции ( exp (x) + exp (-x) ) / 2 и ( exp (x) - exp (-x) ) / 2. За помощь буду крайне благодарен и отблагодарю!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2014, 21:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужен исходный код функции sinh() и cosh() из библиотеки math.h (C++):

Как выглядит исходный код функции sqrt стандартной библиотеки math.h? - C++
Здраствуйте. Мне надо исходный код функции sqrt стандартной библиотеки math.h . В интернете не могу найти понятный пример, а библиотеки...

Нужно ли копировать весь исходный код библиотеки в папку со своей программой? - C++
Итак, я скомпилировал библиотеку Box2d, получил файл libBox2D.a, и есть отдельная папка с исходниками библиотеки которую я компилил. Теперь...

Вычисление функции sinh разложением в ряд Тейлора - C++
Добрый день, помогите составить блок-схему по задаче, или хотя бы подскажите где можно посмотреть аналогичные примеры. Данная задача...

Реализация функций из библиотеки math.h - C++
Нужно написать прогу реализующая 4 функции из библиотеки math.h с помощь классов!

Где находятся стандартные библиотеки c++ типа <math.h> - C++
Здравствуйте, нужна информация: куда устанавливаются и где можно откопать стандартные библиотеки c++, я использую среду qt, компилятор...

записать формулу при помощи библиотеки math.h - C++
Помогите пожалуйста , для примера записать формулу при помощи math.h желательно обе , можно даже просто строку как она записывается в с++

60
Psilon
Master of Orion
Эксперт .NET
5896 / 4793 / 634
Регистрация: 10.07.2011
Сообщений: 14,407
Записей в блоге: 5
Завершенные тесты: 4
18.06.2014, 18:05 #46
GOLDProFA, пффффффффф
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
#define EPS 0.001
double sh(const double &x)
{
    double res = 0;
 
    double x_prod = x;
    double n_prod = 1;
 
    double x2 = x * x;
    double tmp1 = 2;
    double tmp2 = 3;
 
    while (true)
    {
        double d = x_prod / n_prod;
 
        if (d < EPS) break;
 
        res += d;
 
        x_prod *= x2;
        n_prod *= tmp1 * tmp2;
 
        tmp1 += 2;
        tmp2 += 2;
    }
 
    return res;
}
double ch(const double &x)
{
    double res = 0;
 
    double x_prod = 1;
    double n_prod = 1;
 
    double x2 = x * x;
    double tmp1 = 1;
    double tmp2 = 2;
 
    while (true)
    {
        double d = x_prod / n_prod;
 
        if (d < EPS) break;
 
        res += d;
 
        x_prod *= x2;
        n_prod *= tmp1 * tmp2;
 
        tmp1 += 2;
        tmp2 += 2;
    }
 
    return res;
}
 
int main()
{
    return 0;
}
0
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
18.06.2014, 18:07 #47
Psilon, xDDD и к чему шёл весь наш разговор?))
0
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,370
Завершенные тесты: 1
18.06.2014, 18:20 #48
А что вызывать функции автору не надо?
C++
1
2
3
4
5
6
int main()
{
    double x=0.1234567;
    cout<<sh(x)<<" "<<ch(x)<<endl;
    return 0;
}
0
GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
18.06.2014, 18:21  [ТС] #49
Скомпилилось, все работает. Теперь надо сделать так, чтобы происходило вычисление гиперболического косинуса и синуса от введенных данных. Я просто не понимаю что тут за что отвечает. Если не тяжело
0
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
18.06.2014, 18:24 #50
Всего чуток изменить код выше:
C++
1
2
3
4
5
6
7
8
int main()
{
    double x;
    cout << "Enter x:\t";
    cin >> x;
    cout << "sh(x) =\t" << sh(x) << "\n"<< "ch(x) =\t" << ch(x)<< endl;
    return 0;
}
0
GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
18.06.2014, 18:28  [ТС] #51
sh(x) это уже готовая функция, а надо чтобы программа сама это делала.
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
18.06.2014, 18:31 #52
Цитата Сообщение от GOLDProFA Посмотреть сообщение
sh(x) это уже готовая функция
Готовая, это потому что Вам ещё приготовили? Стандартная std::sinh называется, так что не путайте.
1
Psilon
Master of Orion
Эксперт .NET
5896 / 4793 / 634
Регистрация: 10.07.2011
Сообщений: 14,407
Записей в блоге: 5
Завершенные тесты: 4
18.06.2014, 18:35 #53
Цитата Сообщение от IIARTEMII Посмотреть сообщение
Psilon, xDDD и к чему шёл весь наш разговор?))
так я это страницы полторы назад сказал:
Цитата Сообщение от Psilon Посмотреть сообщение
Тем более, что спокойно можно переименовать на int main() и все будет точно также работать, как и без него.
Проще вырезать куски, которые он не понимает, чем объяснять, что он вырезал хедер с дефайнами, где _tmain и прочее определяется...
0
GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
18.06.2014, 18:52  [ТС] #54
Я же писал, что нужна программа которая будет работать точно также как sinh и cosh, но решать это надо не с помощью этих двух функций, а написать код который сам будет все считать. Осталось сделать так, чтобы человек вводил значение и ему выводили ответ.
0
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
18.06.2014, 18:55 #55
Есть кому не лень скопипастить ему тела функций в main вместо их вызовов?
GOLDProFA, что ты понимаешь под
Цитата Сообщение от GOLDProFA Посмотреть сообщение
сам будет все считать
он сам тебе считает; ты вводишь ему х, а он тебе выводит ответ. Что тебе надо?
0
Psilon
Master of Orion
Эксперт .NET
5896 / 4793 / 634
Регистрация: 10.07.2011
Сообщений: 14,407
Записей в блоге: 5
Завершенные тесты: 4
18.06.2014, 18:56 #56
Перевожу на русский язык: автор не знает, как использовать функции, поэтому ему надо их заинлайнить и хренчить всю программу в теле main вперемешку с вводом и выводом
1
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
18.06.2014, 18:59 #57
Psilon,
Цитата Сообщение от IIARTEMII Посмотреть сообщение
Есть кому не лень скопипастить ему тела функций в main вместо их вызовов?
ну да)
GOLDProFA, я напишу это для Вас, если Вы напишете, в каком ВУЗе учитесь
1
GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
18.06.2014, 19:01  [ТС] #58
Одесский компьютерный колледж)
0
Psilon
Master of Orion
Эксперт .NET
5896 / 4793 / 634
Регистрация: 10.07.2011
Сообщений: 14,407
Записей в блоге: 5
Завершенные тесты: 4
18.06.2014, 19:07 #59

Не по теме:

IIARTEMII, одновременно просто написали



Добавлено через 53 секунды

Не по теме:

а еще жалко, что нету решарпера - ctrl+r+i - инлайн функции во все используемые места, гг но ре Хотя тут и вручную нетрудно

1
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
18.06.2014, 19:16 #60
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
GOLDProFA, держите
Кликните здесь для просмотра всего текста
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
#include <iostream>
 
using namespace std;
 
#define EPS 0.001
 
int main()
{
    double x;
    cout << "Enter x:\t";
    cin >> x; // вводите х в консоли
 
    double res = 0;
 
    double x_prod = x;
    double n_prod = 1;
 
    double x2 = x * x;
    double tmp1 = 2;
    double tmp2 = 3;
 
    cout << "sinh(x) =\t";
 
    while (true)
    {
        double d = x_prod / n_prod;
 
        if (d < EPS) break;
 
        res += d;
 
        x_prod *= x2;
        n_prod *= tmp1 * tmp2;
 
        tmp1 += 2;
        tmp2 += 2;
    }
 
    cout << res << endl;
 
    res = 0;
 
    x_prod = 1;
    n_prod = 1;
 
    x2 = x * x;
    tmp1 = 1;
    tmp2 = 2;
 
    while (true)
    {
        double d = x_prod / n_prod;
 
        if (d < EPS) break;
 
        res += d;
 
        x_prod *= x2;
        n_prod *= tmp1 * tmp2;
 
        tmp1 += 2;
        tmp2 += 2;
    }
 
    cout << "cosh(x) =\t" << res << endl;
 
    return 0;
}

Просто копируете и вставляете - компилируете, радуетесь

Добавлено через 6 минут
Мы все надеемся, что у Вас всё получится. Отблагодарить всех не забудьте)
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2014, 19:16
Привет! Вот еще темы с ответами:

Как получить исходный код *.exe или отредактировать его исполняемый код? - C++
Собственно возможно ли декомпилить его так, чтобы можно было потом обратно скомпилировать? Или хотя-бы отредактировать код, только не...

Не работают функции <math.h> в методе (функции-члене) - C++
Сделал программу которая решает по формуле задачу. Все работает, но стоило вынести нахождение y в функцию, как компилятор стал писать...

Нужен исходный код, исходник функции strcat() - C (СИ)
Мне нужен исходный код,исходник функции strcat(); , которая в string.h библиотеке. Помогите найти,а то я порылся в папке codeblocks-а и...

Как использовать функции System.Math без указания библиотеки - C#
Необходимо писать большие формулы, включающие синусы и косинусы. Написал-забыл не прокатит, код выполняется динамически, так как нужен ввод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Yandex
Объявления
18.06.2014, 19:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru