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

Почему не извлекается кубический корень из отрицательного числа? - C++

Восстановить пароль Регистрация
 
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 80
13.06.2014, 22:57     Почему не извлекается кубический корень из отрицательного числа? #1
продолжая тему проверьте пожалуйста скажите почему не работает? может такое быть что не извлекается кубический корень из отрицательного числа?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<cmath>
#include<iostream>
int main ()
{
    double x,q,y1,y2,y;// для данных переменных тип double так как после производимых с ними действиями они могут стать дробными 
    x=2;
    q=4;
    y1=-q/2+sqrt(x);//для упрощения разбиваем функцию на части у1-присваиваем первое подкоренное выражение, степень 1/2 для удобства меняем на корень квадратный (sqrt)
    y1=pow(y1,1./3);//получившееся выражение возводим в степень 1/3 (заменяет извлечение кубического корня)
    y2=-q/2-sqrt(x);//y2-присваиваем второе подкоренное выражение
    y2=pow(y2,1./3);//второе выражение возводим в степень 1/3
    y=y1+y2;//выполняем третье действие-сложение получившихся результатов у1 и у2
    printf("%i",y);
    getchar();
    return (0);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2014, 22:57     Почему не извлекается кубический корень из отрицательного числа?
Посмотрите здесь:

C++ Кубический корень
Можите найти ошибку в методе простых итераций он не расчитывает кубический корень C++
Даны два числа. Если квадратный корень из второго числа меньше первого числа, то увличить второе число в пять раз с++ C++
Написать программу, которая выводит квадрат, введенного с клавиатуры, числа в диапазоне от 0 до 10 включительно. При введении отрицательного числа осу C++
C++ Как написать корень кубический
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jewbacabra
1791 / 1506 / 539
Регистрация: 24.04.2014
Сообщений: 4,217
14.06.2014, 00:14     Почему не извлекается кубический корень из отрицательного числа? #2
Цитата Сообщение от Свидуботаник Посмотреть сообщение
printf("%i",y);
C++
1
printf("%lf", y);
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
14.06.2014, 00:40     Почему не извлекается кубический корень из отрицательного числа? #3
Цитата Сообщение от Свидуботаник Посмотреть сообщение
продолжая тему проверьте пожалуйста скажите почему не работает? может такое быть что не извлекается кубический корень из отрицательного числа?
Для кубического корня используй std::cbrt.
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 80
15.06.2014, 00:54  [ТС]     Почему не извлекается кубический корень из отрицательного числа? #4
если использовать
Цитата Сообщение от Jewbacabra Посмотреть сообщение
printf("%lf", y)
то выдает следующее --1.#IND00. Сейчас попробую разобраться, что такое std::cbrt и как это работает

Добавлено через 16 часов 48 минут
Не могу найти как работает std::cbrt ткните носом где почитать( ума не приложу куда ее воткнуть в коде)
volvo
Супер-модератор
 Аватар для volvo
21694 / 14167 / 3943
Регистрация: 22.10.2011
Сообщений: 25,031
Записей в блоге: 2
15.06.2014, 01:59     Почему не извлекается кубический корень из отрицательного числа? #5
Цитата Сообщение от Свидуботаник Посмотреть сообщение
Не могу найти как работает std::cbrt
std::cbrt (это фишка C++11)
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 80
15.06.2014, 23:47  [ТС]     Почему не извлекается кубический корень из отрицательного числа? #6
всем спасибо, все решил немного иначе потому что cbrt незнакомая функция для компилятора (может год у меня другой не знаю)
Yandex
Объявления
15.06.2014, 23:47     Почему не извлекается кубический корень из отрицательного числа?
Ответ Создать тему
Опции темы

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