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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2014, 00:16   #1
DesQ
 
Аватар для DesQ
 
Регистрация: 17.09.2014
Сообщений: 4
По умолчанию Ошибка в коде при математической записи на с++

Доброго времени суток.
Есть код написанный на деве. Вроде все нормально, но при выводе результата в некоторых случаях пишет -1#IND.
В чем может быть проблема?
Код:
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;

int main()
{
   setlocale(LC_ALL, "Russian");
   int a,b,t;
   float y,s,z;
   cin>>a;
   cin>>b;
   cin>>t;
   y=(1/exp(-b*t))*sin(a*t+b)-pow(fabs(b*t+a),(1/2));
   s=b*sin(a*pow(t,2))*cos(2*t)-14;
   z=(4*y+5)/(pow(s,2)+pow(y,3));
   cout<<"z="<<(z)<<endl;
   system("pause");

   return 0;
}

Последний раз редактировалось DesQ; 25.09.2014 в 00:31.
DesQ вне форума Ответить с цитированием
Старый 25.09.2014, 08:51   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Вангую: в некоторых случаях значение какого-нить аргумента не попадает в область определения какой-нить из вызываемых функций.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 25.09.2014, 10:29   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Кстати, ТС вы уверены в значении выражения (1/2) ?
p51x вне форума Ответить с цитированием
Старый 25.09.2014, 11:22   #4
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

DesQ, вы константы написали, как целые, а надо, как float:

Код:
#include <iostream>

int main()
{
    float a = 1.2f;

    std::cout << "result = " << a + 0.5f << std::endl;

    return 0;
}
8Observer8 вне форума Ответить с цитированием
Старый 25.09.2014, 12:08   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
DesQ, вы константы написали, как целые, а надо, как float:

Код:
#include <iostream>

int main()
{
    float a = 1.2f;

    std::cout << "result = " << a + 0.5f << std::endl;

    return 0;
}
Соглушусь. В С++, есть такая гадость. Если явано не объявляется работа с плавающей запятой, то по-умолчанию работают целочисленны значения.
Это рудинемент, оставшийся от С. Просто, это нужно знать и не обращать внимания.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 25.09.2014 в 12:12.
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Математическая логика. Polosatik13 Помощь студентам 0 16.12.2013 21:25
математическая статистика Sergey523 Помощь студентам 0 04.11.2012 20:23
Математическая логика Yar Помощь студентам 0 24.12.2011 15:47
Математическая функция angel5609 Помощь студентам 3 20.11.2011 02:13
Эк.-математическая задача r_tem Microsoft Office Excel 2 01.06.2011 13:44