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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
14.06.2014, 21:24     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #1
Нужен исходный код функции sinh() и cosh() из библиотеки math.h. Искал в библиотеке - не нашел.
Задача: написать программу которая будет вычислять гиперболический косинус и синус. НЕ ИСПОЛЬЗУЯ sinh() и cosh(), а также не использовать функции ( exp (x) + exp (-x) ) / 2 и ( exp (x) - exp (-x) ) / 2. За помощь буду крайне благодарен и отблагодарю!
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,281
16.06.2014, 18:06     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #21
Цитата Сообщение от GOLDProFA Посмотреть сообщение
Не работает, выдает ошибки.
что не работает? какие ошибки? код который я привел проверен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
16.06.2014, 18:27
  #22

Не по теме:

Цитата Сообщение от vxg Посмотреть сообщение
что не работает?
ТС не работает .

GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
16.06.2014, 18:36  [ТС]     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #23
Скриншот ошибки
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,281
16.06.2014, 20:38     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #24
Цитата Сообщение от GOLDProFA Посмотреть сообщение
Скриншот ошибки
что бы убрать первые два предупреждения - поменяйте
C++
1
2
double tmp1...
double tmp2...
на
C++
1
2
int tmp1...
int tmp2...
а остальные ошибки - это вы проект в VS как-то не так создали. не может он у вас main найти. колеса надо протереть. как именно - не в курсе. в VS не работаю и данная ошибка лично для меня пример маразма создателей среды преднамеренного (если они требуют что бы человек что то там делал в настройках что бы их среда увидела main) или косвенного (такой организации процесса создания проекта когда человек ошибочно выбирает не то или забывает выбрать что-то)
GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
16.06.2014, 20:42  [ТС]     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #25
Если не VS, то что мне использовать?
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
16.06.2014, 20:46     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #26
Цитата Сообщение от vxg Посмотреть сообщение
(если они требуют что бы человек что то там делал в настройках что бы их среда увидела main)
они не требуют
главная функция для консоли main для винды WinMain
и если создать проект под винду а писать консолку, а равно и наоборот, то ясно что компилятор сойдет с ума
Вывод нужно создавать правильный проект
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,281
16.06.2014, 21:06     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #27
Цитата Сообщение от ValeryS Посмотреть сообщение
главная функция для консоли main для винды WinMain
и если создать проект под винду а писать консолку, а равно и наоборот, то ясно что компилятор сойдет с ума
Вывод нужно создавать правильный проект
тогда подсказали бы человеку. если вы работаете в VS.
File/New/Project/Visual C++/Win32/Win32 Console Application
функции вставлять перед _tmain
использующий код писать внутри _tmain
GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
18.06.2014, 11:57  [ТС]     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #28
Не понял как этот код правильно переписать под VS (_tmain никогда еще не использовал). Может легче использовать другую среду разработки?

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
#define EPS 0.001
double sh(const double &x)
{
    double res = 0;
 
    double x_prod = x;
    int 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;
    int 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;
}
FraidZZ
18.06.2014, 12:02
  #29

Не по теме:

GOLDProFA, к примеру, бесплатную wxDevC++

voral
346 / 326 / 46
Регистрация: 16.03.2008
Сообщений: 1,698
18.06.2014, 12:08     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #30
http://fossies.org/dox/glibc-2.19/ma...8c_source.html
GOLDProFA
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 28
18.06.2014, 12:25  [ТС]     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #31
Теперь в wxDevC++ не могу разобраться, не компилится. Может кто в скайпе помочь или еще как?
Создаю проект - Console Application C++ - Создаю файл в проекте - в этот файл кидаю исходник - компилю. Итог - ошибка
Psilon
Master of Orion
 Аватар для Psilon
5743 / 4691 / 619
Регистрация: 10.07.2011
Сообщений: 14,162
Записей в блоге: 5
Завершенные тесты: 4
18.06.2014, 12:53     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #32
FraidZZ, VS ничем не хуже, она не виновата, что ТС удаляет entry point.
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
#include "stdafx.h"
 
#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 _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
18.06.2014, 13:46     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #33
Пусть Борландовский _tmain(...) заменит на:
C++
1
2
3
int main() {
    return 0;
}
korvin_
 Аватар для korvin_
1328 / 1099 / 160
Регистрация: 28.04.2012
Сообщений: 3,926
18.06.2014, 14:03     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #34
Цитата Сообщение от IIARTEMII Посмотреть сообщение
Борландовский
При чем тут Борланд? Это MS VS.
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
18.06.2014, 14:16     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #35
Цитата Сообщение от korvin_ Посмотреть сообщение
При чем тут Борланд? Это MS VS.
с каких пор у мелкомягких main возвращает int? у них всегда чётко: void main(void) { }
_tmain() _wmain() _wWinMain() _WinMain() - это всё Borland и Embarcadero

Добавлено через 57 секунд
Хотя секундочку... версия какая? 13?
korvin_
 Аватар для korvin_
1328 / 1099 / 160
Регистрация: 28.04.2012
Сообщений: 3,926
18.06.2014, 14:25     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #36
Цитата Сообщение от IIARTEMII Посмотреть сообщение
с каких пор у мелкомягких main возвращает int?
Видимо с изначальных.

void main -- это вообще мало где встречающийся нестандарт. Причем, AFAIK, сишный, в плюсах main всегда возвращает int.

http://stackoverflow.com/questions/8...-and-main-in-c
_tmain is a Microsoft extension.
WinMain.
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
18.06.2014, 14:46     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #37
korvin_,
про стандарт с int я в курсе, спасибо за ссылки) почему-то когда создаю готовый проект в MSVS любой версии, кроме 13 - консольное приложение создаётся с void main(void) { }
всегда бесило это.
Про WinAPI и WinMain понятно. Вот Embarcadero:
C++
1
2
3
4
5
6
7
#include <windows.h>
#include <tchar.h>
 
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
    return 0;
}
Понятно, что
C++
1
#define WINAPI      __stdcall
и
C++
1
#define _tWinMain       WinMain
и вообще там много всевозможных дефайнов. Но факт фактом - по жизни сколько работал с Embarcadero/Borland и MS VS 8-12, первый любит через дефайн решать проблемы с именами, второй всегда делает не как в стандарте, за исключением WinAPI. 13 студия нормально всё пишет
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,281
18.06.2014, 14:52     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #38
Цитата Сообщение от IIARTEMII Посмотреть сообщение
_tmain() _wmain() _wWinMain() _WinMain() - это всё Borland и Embarcadero
ну да, я только что в студии создал проект, увидел там _tmain и пошел вас убеждать что его там нет
IIARTEMII
20 / 20 / 3
Регистрация: 14.06.2012
Сообщений: 95
Завершенные тесты: 1
18.06.2014, 14:59     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #39
Вот ещё Embarcadero:
C++
1
2
3
4
5
6
7
#include <tchar.h>
#include <stdio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}
Такой же код, но с
C++
1
#include <targetever.h>
который содержит
C++
1
#include <SDKDDKVer.h>
который несёт кучу дефайнов, связанных со студией и виндой - генерирует 13 студия.
И то же самое, что и в предыдущем моем посте, но с небольшими изменениями генерирует Win32 в студии.
в 10 студии у меня генерирует WinMain и void main(void) {}
может всё-таки уходить от расширений и писать по стандарту?
C++
1
int main() ...
чтобы и в DevC++ и везде работало?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2014, 15:09     Нужен исходный код функции sinh() и cosh() из библиотеки math.h
Еще ссылки по теме:

{while, do} нужен исходный код либо объяснение задачи C++
C++ Реализация функций из библиотеки math.h
Где находятся стандартные библиотеки c++ типа <math.h> C++

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

Или воспользуйтесь поиском по форуму:
Psilon
Master of Orion
 Аватар для Psilon
5743 / 4691 / 619
Регистрация: 10.07.2011
Сообщений: 14,162
Записей в блоге: 5
Завершенные тесты: 4
18.06.2014, 15:09     Нужен исходный код функции sinh() и cosh() из библиотеки math.h #40
IIARTEMII, выбираем при создании проекта галочку "empty project" и радуемся отсутствию каких-либо хедеров. Тем более, что спокойно можно переименовать на int main() и все будет точно также работать, как и без него.
Yandex
Объявления
18.06.2014, 15:09     Нужен исходный код функции sinh() и cosh() из библиотеки math.h
Ответ Создать тему
Опции темы

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