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

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

Войти
Регистрация
Восстановить пароль
 
 
Aleksandr2468
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 5
#1

Вычисления значений функций - C++

15.09.2015, 13:15. Просмотров 480. Ответов 20
Метки нет (Все метки)

Мне была поставлена задача - вычислить значение функции.

http://www.cyberforum.ru/cgi-bin/latex.cgi?F(x)=\begin{cases}<br />
-x^2-9 & \text{ , } x \ge 13 \\ <br />
-\frac{1}{x^2+9} & \text{ , } x \lt 13<br />
\end{cases}

Программа вроде правильно работает, но не считает "0" - пишет "-inf".
В чем может быть проблема?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include<conio.h>
#include <math.h>
main()
{
float x,result;
printf("Vvedite X => ");
scanf("%f", &x);
if(x>=13)
printf("Rezul'tat: %f", -(pow(x,2)*-1)-9);
else
if(x<=13)
printf("Rezul'tat: %f", -(1/pow(x,2)+9));
getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2015, 13:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычисления значений функций (C++):

Вычисления значений рядных функций - C++
Помогите написать программу для вычисления значения функции(в аттаче). Вычисление ряда нужно проводить до условия минимизации значения...

Напишите программы для вычисления значений математических функций - C++
нужно решить в системе С,заранее спс!! 2.3 Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на...

Передача значений функций в главную программу, вызов функций - C++
Здравствуйте! Скорее всего, неправильно передаю значения функциям и в главную программу. Помогите найти ошибку! В итоге выводит...

Вычислить и распечатать таблицу значений заданных функций для указанных значений - C++
для всех х, меняющихся с шагом hx=0.5 и всех y, меняющихся с шагом hy=0,25 вычислить и распечатать таблицу значений функций u и y . ...

Написать программу вычисления одной из функций - C++
Задача в С++ C=\begin{cases} f^2(x)+\sqrt{x}+sin(y) &amp; \text{ , } x-y=0 \\ (f(x)-y)^2+ln(x) &amp; \text{ , } x-y\lt 0 \\ ...

Перегрузка функций вычисления площади треугольника - C++
Есть 11 функций которые считают площадь треугольника. Каждая по отдельной формуле. Не все функции с разным количеством параметров. Как их...

20
Игорь1986
50 / 114 / 29
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
15.09.2015, 13:26 #2
Ну во первых if(x<13) там же строго меньше
и во вторых запись не понял -(pow(x,2)*-1)-9)
и в третьих scanf("%f", &x); точно дробные числа
0
nonedark2008
1012 / 752 / 176
Регистрация: 28.07.2012
Сообщений: 2,091
15.09.2015, 13:27 #3
Цитата Сообщение от Aleksandr2468 Посмотреть сообщение
Программа вроде правильно работает
Ты ошибаешься.
Цитата Сообщение от Aleksandr2468 Посмотреть сообщение
В чем может быть проблема?
Проблема в скобочках.
0
Игорь1986
50 / 114 / 29
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
15.09.2015, 13:31 #4
Попробуй введи 0.0, почему у тебя везде %f
0
Даценд
Модератор
Эксперт .NET
4039 / 3878 / 1953
Регистрация: 20.04.2015
Сообщений: 7,042
15.09.2015, 13:36 #5
Исправьте:
первое выражение: -pow(x,2)-9
второе: -1/(pow(x,2)+9)
0
Игорь1986
50 / 114 / 29
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
15.09.2015, 13:38 #6
printf("Rezul'tat: %f", -(pow(x,2))-9);
else
if(x<=13)
printf("Rezul'tat: %f", -(1/(pow(x,2)+9)));
getch();
return 0;
Скобки добавь во втором условии а в первом подправь
Так как идет деление на ноль вот тебе и инф, а тогда уже комплексные числа
0
nonedark2008
1012 / 752 / 176
Регистрация: 28.07.2012
Сообщений: 2,091
15.09.2015, 13:46 #7
Цитата Сообщение от Игорь1986 Посмотреть сообщение
а тогда уже комплексные числа
Не вводи людей в заблуждение, это не так.
0
Игорь1986
50 / 114 / 29
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
15.09.2015, 13:52 #8
Та ладно деление на ноль можно обойти только комплексными числами
0
Даценд
Модератор
Эксперт .NET
4039 / 3878 / 1953
Регистрация: 20.04.2015
Сообщений: 7,042
15.09.2015, 13:56 #9
Цитата Сообщение от Игорь1986 Посмотреть сообщение
деление на ноль можно обойти только комплексными числами
нельзя
0
Игорь1986
50 / 114 / 29
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
15.09.2015, 13:57 #10
Вспомните вышку умники, вы неправы никак
0
nonedark2008
15.09.2015, 14:01
  #11

Не по теме:

Цитата Сообщение от Игорь1986 Посмотреть сообщение
Вспомните вышку умники, вы неправы никак
Приведи доказательство.

0
Игорь1986
50 / 114 / 29
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
15.09.2015, 14:08 #12
Я думаешь помню курс матана, я заканчивал кафедру пм и ты неправ
Ну вот из википедии
В расширенной комплексной плоскости делить на ноль можно. Это связано с тем, что в ней бесконечность — не предельно-недостижимое значение, а вполне конкретная точка, соответствующая точке (0, 0, 1) в стереографической проекции. Правда, при этом подобное множество внезапно перестает быть полем, но это мало кого волнует.

Добавлено через 6 минут
числа с плавающей запятой делить на ноль можно
0
nonedark2008
15.09.2015, 14:11
  #13

Не по теме:

Цитата Сообщение от Игорь1986 Посмотреть сообщение
расширенной комплексной плоскости
Ха, расширить ты можешь и целочисленную алгебру, определив там операцию деления на 0.
Но что бы не делалось, оно будет противоречить стандартному определению операции деления, как обратной к умножению.

0
Игорь1986
50 / 114 / 29
Регистрация: 08.09.2014
Сообщений: 1,024
Завершенные тесты: 1
15.09.2015, 14:13 #14
А я тебе не говорил про стандартное деление, а про применение комплексных чисел, для того чтобы возможно было разделить на ноль
0
nonedark2008
15.09.2015, 14:29     Вычисления значений функций
  #15

Не по теме:

Цитата Сообщение от Игорь1986 Посмотреть сообщение
про применение комплексных чисел, для того чтобы возможно было разделить на ноль
Такое же можно применить и к любому множеству чисел. Стоит только расширить их понятие.
Но кто сказал, что это применимо к конкретной задаче?
Будет у человека следующим шагом поиск обратного значения функции,
ну умножит он бесконечность на ноль, ну получит он NaN, NaN ведь тоже относится к числам с плавающей запятой согласно стандарту.

0
15.09.2015, 14:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2015, 14:29
Привет! Вот еще темы с ответами:

Вычисление значений функций - C++
задано х=0.34*21, у=0.18*21,z=-1.72*21 разработать програму для вичисление значений функций с|x,y,z,b| и b|x,y,z| согласно таким...

Вычисление значений функций. - C++
Доброго времени суток.Мне нужно найти значение функции ,сумму и |Y(x)–S(x)|.При том что Х изменяется от a до b с прибавлением h,где h в...

Передача значений функций - C++
извините конечно за дурацкий вопрос, не нашёл, думаю, может вы поможете... задача такова: мне надо например сделать 3 разных функции...

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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