Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заголовочный файл <math.h> - функция tan(x), Проблемы с реализацией функции tan (x) 
:(
    Опции темы
Sorbing
  Дата 25.3.2007, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 25.3.2007

Репутация: нет
Всего: нет



Уважаемые Девелоперы!

 smile Кто подскажет как решить следующую проблему?
Нужно реализовать математическую функцию tan(x).
Создал заголовочный файл #include <math.h>, но с ним возникает проблема:

#ifdef __cplusplus
extern "C" { //проблема в этой строке
#endif

Описание ошибки:   [C++ Error] math.h(undefined39): E2215 Linkage specification not allowed 

Заранее благодарен!

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  math.JPG 5,89 Kb
PM MAIL   Вверх
susanin
Дата 25.3.2007, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 7



что то я  не понял...
Цитата(Sorbing @  25.3.2007,  21:34 Найти цитируемый пост)
Создал заголовочный файл #include <math.h>

вы его сам создал что ли??? ченм не устраивал заводской???? тем более что есть там уже и готовая tan(x)

PM MAIL   Вверх
mr.Anderson
Дата 25.3.2007, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



susanin, чего непонятного? Если человеку дали задание самому реализовать функцию тангенса? Вот и пытается.

Я только одного не могу понять. Зачем тут extern "C" ?
Почему не создать просто файл? К тому же, выберите имя файла другое, т.к. такой уже существует. Еще замените ненароком оригинал. smile 

А без экстерна будет вот так смотреться:
Код

//----------- файл myMath.h -------------------//

#ifndef MYMATH_H
#define MYMATH_H
//-------------------------------------

double tan( double sin, double cos )
{
 return ( sin / cos );
}
//-------------------------------------

#endif

И усе.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
susanin
Дата 25.3.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 7



mr.Anderson, так то что вы предложили опять же с помощью стандартных функций библиотеки cos и sin..... 
PM MAIL   Вверх
mr.Anderson
Дата 25.3.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



susanin, а если присмотреться внимательнее, то я написал функцию, принимающую два числовых аргумента. ЧИСЛОВЫХ. А уж как вы эти аргументы получите, это в условие задачи не входит.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
susanin
Дата 25.3.2007, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 7



mr.Anderson , прошу пощения.... туплю!!!  все понял! smile 
PM MAIL   Вверх
mr.Anderson
Дата 25.3.2007, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



Бывает. smile


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
codelord
Дата 25.3.2007, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Цитата(mr.Anderson @  25.3.2007,  18:06 Найти цитируемый пост)
А уж как вы эти аргументы получите, это в условие задачи не входит.

 smile 
таким макаром можно любые тригонометрические функции друг через друга выразить. 
А где достанут входящие аргументы те кто будет ими пользоваться в задачу не входит smile
оригинально.

ps: обычно определяют тангенс угла.


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
mr.Anderson
Дата 26.3.2007, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



codelord, ладно-ладно, убедили. smile Перепишем.
Код

typedef double D;

inline D tan( D protivCatet, D prilCatet )
{
 return ( protivCatet / prilCatet );
}

Так сойдет? smile


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
codelord
Дата 26.3.2007, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 16
Всего: 39



Цитата(mr.Anderson @  26.3.2007,  05:32 Найти цитируемый пост)
Так сойдет?

если у нас есть стороны треугольника то да  smile  
а если нет? smile 


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
Syrex
Дата 26.3.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 9.2.2006
Где: Москва

Репутация: 1
Всего: 1



Тогда ищите формулы для расчета тангенса угла в Мат. анализе ))
PM MAIL ICQ   Вверх
W4FhLF
Дата 26.3.2007, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Код

double tan(double x)
{
    double result = 0;
    __asm {  
        FLD QWORD PTR[x]
        FPTAN 
        FSTP ST(0)
        FSTP QWORD PTR[result]
        FWAIT
    }
    return result;
}




--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Sorbing
Дата 26.3.2007, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 25.3.2007

Репутация: нет
Всего: нет



Всем  огро-о-о-омнейшая  благодарность  за  помощь,  но  все  гениальное  -  просто...
...  а  я  тормоз! smile 
Заголовочный  файл  простите  не  создал,  а  прописал  стандартный smile   Sorry  за  ошибочку!!!

Проблема   в том,  что  я  прописал  этот же  заголовочный  файл  в  поле  обработки  события:
Код

void __fastcall TForm1::Button1Click(TObject *Sender)

А  нужно  то  было  строчку  
Код
#include "math.h"
  вставить в  самом начале  кода  программы!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0613 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.