Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2018, 09:54   #1
Владислав Пасечник
Новичок
Джуниор
 
Регистрация: 31.01.2018
Сообщений: 1
Сообщение Вопрос

Помогите понять что не так с кодом.


Код:
static double Sh(double x)
        {
            return (Math.Pow(double.Epsilon, x) + Math.Pow(double.Epsilon, -x)) / 2;
        }
        static double F(double x, double y)
        {
            const double a = 12.0, b = 1.2, c = 17, d = 2.4;
            return (a * Sh(b * x) + c * Sh(d * y)) / Sh(b * x + d * y);
        }
        static void Main()
        {
            Console.Write("Input x:");
            double X = double.Parse(Console.ReadLine());
            Console.Write("Input y:");
            double Y = double.Parse(Console.ReadLine());
            Console.WriteLine(F(X, Y));
            Console.ReadLine();

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 31.01.2018 в 10:12.
Владислав Пасечник вне форума Ответить с цитированием
Старый 31.01.2018, 10:04   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

а как вы узнали что с ним что-то не так?

# значок для оформления кода
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 31.01.2018, 10:22   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

всё так с кодом.

Просто используется ОЧЕНЬ странная функция Sh
при значениях аргумента больше единицы она вырождается в ноль.
тогда попытка разделить на Sh(b * x + d * y) приводит к результату NaN

вводите очень малые значения X и Y - получите какой-то ответ:
sh.png

Последний раз редактировалось Serge_Bliznykov; 31.01.2018 в 10:25.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.01.2018, 10:32   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Просто используется ОЧЕНЬ странная функция Sh
Странной она стала, потому что ТС спутал экспоненту и эпсилон для даблов... а так обычный гиперболический синус.
p51x вне форума Ответить с цитированием
Старый 31.01.2018, 10:47   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Странной она стала, потому что ТС спутал экспоненту и эпсилон для даблов...
точно!! Вы правы!


Цитата:
Сообщение от p51x Посмотреть сообщение
а так обычный гиперболический синус.
погуглил.
судя по тому, что степени суммируются, это всё таки гиперболический косинус

а что нужно автору - непонятно. то ли синус, то ли косинус...
на всякий случай оба -
Код:
	static double Ch(double x)
        {
            return (Math.Exp(x) + Math.Exp(-x)) / 2;
        }
	static double Sh(double x)
        {
            return (Math.Exp(x) - Math.Exp(-x)) / 2;
        }
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.01.2018, 11:07   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
судя по тому, что степени суммируются
Ну я судил по названию функции, ведь это ж не спроста ТС написал...
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Жизненный вопрос - Дано: я - самый умный. Вопрос: что делать? где это найти то, чего тебе не хватает? jura_k Свободное общение 16 10.03.2017 12:12
Вопрос по mySQL + Вопрос по RichEdit HTL Общие вопросы Delphi 4 01.01.2010 20:22
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10