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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
8lgm
0 / 0 / 0
Регистрация: 21.09.2013
Сообщений: 16
#1

Корень седьмой степени из числа? - C++

21.09.2013, 16:02. Просмотров 2102. Ответов 15
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <math.h>
#include <conio.h>
 
using namespace std;
void main ( )
{
                float a,b,y;
                cout<<"\n a=";
                cin>>a;
                cout<<"\n b=";
                cin>>b;
 
        if (a<0)            {y=pow(pow(a,3)-pow(b,3),1/7.0);
                            cout<<"\n y="<<y; }
        else    if (a>1)                if (b=0)
                                            cout<<"\nError!\n";
                                        else {y=a/b;
                                            cout<<"\n y="<<y; }
                else    if (pow(a,3)==pow(b,3))
                        cout<<"\nError!\n";
                        else {y=(a*a + b*b*b)/(a*a*a-b*b*b);
                        cout<<"\n y="<<y; }
                    
getch ();
}
C++
1
    y=pow(pow(a,3)-pow(b,3),1/7.0);
Проблема в этой строчке - в ответ всегда выдает единицу...
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 16:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Корень седьмой степени из числа? (C++):

Взять корень из степени большого числа - C++
Всем привет задачакая с помощью библиотеки math.h и функции pow() нужно взять корень степени числа. код написанн но проблема в том что...

Программа, вычисляющая корень четвертой степени от числа - C++
Доброго времени суток. Народ, кому не сложно, создайте программу, вычисляющую корень четвертой степени от числа.

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

Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку - C++
Ребят, такая проблема, задание: Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. ...

Корень n-й степени - C++
Всем доброго времени суток. Как взять корень n-й степени? При использовании данного варианта: pow(x, (1/n)) в ответ всегда идет 1. ...

Как записать корень в степени - C++
ссылка вырезана]

15
makashello
7 / 0 / 2
Регистрация: 20.09.2013
Сообщений: 18
21.09.2013, 16:14 #2
Цитата Сообщение от 8lgm Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <math.h>
#include <conio.h>
 
using namespace std;
void main ( )
{
                float a,b,y;
                cout<<"\n a=";
                cin>>a;
                cout<<"\n b=";
                cin>>b;
 
        if (a<0)            {y=pow(pow(a,3)-pow(b,3),1/7.0);
                            cout<<"\n y="<<y; }
        else    if (a>1)                if (b=0)
                                            cout<<"\nError!\n";
                                        else {y=a/b;
                                            cout<<"\n y="<<y; }
                else    if (pow(a,3)==pow(b,3))
                        cout<<"\nError!\n";
                        else {y=(a*a + b*b*b)/(a*a*a-b*b*b);
                        cout<<"\n y="<<y; }
                    
getch ();
}
C++
1
    y=pow(pow(a,3)-pow(b,3),1/7.0);
Проблема в этой строчке - в ответ всегда выдает единицу...
Заранее спасибо.
задача? из разности кубов вычислить корень 7-ой степени?
0
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
21.09.2013, 16:20 #3
"один" не льзя разделить на "семь", получается производная из 0,(142857)
0
8lgm
0 / 0 / 0
Регистрация: 21.09.2013
Сообщений: 16
21.09.2013, 16:21  [ТС] #4
Цитата Сообщение от makashello Посмотреть сообщение
задача? из разности кубов вычислить корень 7-ой степени?
this
http://www.cyberforum.ru/attachment....0&d=1379766049

Задаем a и b, считаем и выводим y.
0
Миниатюры
Корень седьмой степени из числа?  
makashello
7 / 0 / 2
Регистрация: 20.09.2013
Сообщений: 18
21.09.2013, 16:21 #5
Цитата Сообщение от Нету имени Посмотреть сообщение
"один" не льзя разделить на "семь", получается производная из 0,(142857)
да если вы хотите получить дробный тип, то надо 1.0/7.0. Правила возведения типов хромают, но задачу можно скинуть?
0
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
21.09.2013, 16:29 #6

Не по теме:

8lgm, прекращай украшать код


Цитата Сообщение от makashello Посмотреть сообщение
Правила возведения типов хромают, но задачу можно скинуть?
поподробнее
0
8lgm
0 / 0 / 0
Регистрация: 21.09.2013
Сообщений: 16
21.09.2013, 16:33  [ТС] #7
Цитата Сообщение от Нету имени Посмотреть сообщение

Не по теме:

8lgm, прекращай украшать код


Не по теме:

Что значит украшать? делать такие большие отступы?



И да, не работает именно вычисление корня 7 степени, все остальные ветви работают.
Btw 1.0/7.0 не работает. Ч.Я.Д.Н.Т.?
И да, нам в вузе уже дали задание, хотя язык с++ нам еще не читали... Считайте, что я занимаюсь самообучением.
0
Нету имени
21.09.2013, 16:41
  #8

Не по теме:

Цитата Сообщение от 8lgm Посмотреть сообщение
Что значит украшать? делать такие большие отступы?
вы меня правильно поняли, у вас код еле читабелен

0
makashello
7 / 0 / 2
Регистрация: 20.09.2013
Сообщений: 18
21.09.2013, 16:44 #9
Если x отрицательное, а y не является целой, функция печатает сообщение об
ошибке DOMAIN в stderr, устанавливает errno в ERANGE и возвращает
либо положительное, либо отрицательное значение HUGE.
Описание функции pow. Оно такое значение тебе и вернет, потому что х является отрицательным, а y- дробным и результат "Отрицательная неопределённость" или -1.#IND. Может я не прав, но у меня такая версия. Сам написал и опробовал.

Добавлено через 1 минуту
Цитата Сообщение от makashello Посмотреть сообщение
да если вы хотите получить дробный тип, то надо 1.0/7.0. Правила возведения типов хромают, но задачу можно скинуть?
пример int и char складываем, то char будет возведен до int и т.д.
0
8lgm
0 / 0 / 0
Регистрация: 21.09.2013
Сообщений: 16
21.09.2013, 16:44  [ТС] #10
Цитата Сообщение от makashello Посмотреть сообщение
Если x отрицательное, а y не является целой, функция печатает сообщение об
ошибке DOMAIN в stderr, устанавливает errno в ERANGE и возвращает
либо положительное, либо отрицательное значение HUGE.
Описание функции pow. Оно такое значение тебе и вернет, потому что х является отрицательным, а y- дробным и результат "Отрицательная неопределённость" или -1.#IND
Через логарифм преобразовать как-нибудь тогда? Или как еще вывести корень нечетной степени из отрицательного числа?
0
makashello
7 / 0 / 2
Регистрация: 20.09.2013
Сообщений: 18
21.09.2013, 16:53 #11
Цитата Сообщение от 8lgm Посмотреть сообщение
this
http://www.cyberforum.ru/attachment....0&d=1379766049

Задаем a и b, считаем и выводим y.
Ща может выход найду сек! проверю ток!

Добавлено через 4 минуты
Цитата Сообщение от 8lgm Посмотреть сообщение
Через логарифм преобразовать как-нибудь тогда? Или как еще вывести корень нечетной степени из отрицательного числа?
неее=( даже никак не проверишь=) даже калькулятор выдает бесконечность=)
0
8lgm
0 / 0 / 0
Регистрация: 21.09.2013
Сообщений: 16
21.09.2013, 17:24  [ТС] #12
Цитата Сообщение от makashello Посмотреть сообщение
Ща может выход найду сек! проверю ток!
Было бы неплохо...
0
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
21.09.2013, 17:25 #13
А как такой вариант?
C++
1
double y = -pow( abs( pow( a, 3 ) - pow( b, 3 )), 1.0/7.0 );
0
makashello
7 / 0 / 2
Регистрация: 20.09.2013
Сообщений: 18
21.09.2013, 17:27 #14
Цитата Сообщение от Нету имени Посмотреть сообщение
А как такой вариант?
C++
1
double y = -pow( abs( pow( a, 3 ) - pow( b, 3 )), 1.0/7.0 );
я тоже так пробовал, но как ты проверишь результат вычислений?
0
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
21.09.2013, 17:33 #15
Цитата Сообщение от Нету имени Посмотреть сообщение
double y = -pow( abs( pow( a, 3 ) - pow( b, 3 )), 1.0/7.0 );
этот вариант комплементарен, при условии что а<0( по умолчанию ) и b>0
при a<0 и b<a, минус лишний

Добавлено через 1 минуту
Слипаются глаза, вот мой последний вариант на сегодня и я иду спать
C++
1
2
a<0 && b<a ? y = pow( abs( pow( a, 3 ) - pow( b, 3 )), 1.0/7.0 ): 
             y =-pow( abs( pow( a, 3 ) - pow( b, 3 )), 1.0/7.0 );
1
21.09.2013, 17:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 17:33
Привет! Вот еще темы с ответами:

Определить корень третьей степени от Z - C++
Помогите написать программу: Определить корень третьей степени от Z по итерационной формуле, пока |Wn+1 - Wn| &lt; e Wn+1 = Wn +(1/3)(Z/...

Как выразить в С корень n-степени. - C++
Как выразить в С корень n-степени. Подскажите.

Как описать корень пятой степени? - C++
Как описать в С++ корень пятой степени з выражения?

Корень в n-ой степени. Никак не хочет считать - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; #include &quot;cmath&quot; using namespace std; int _tmain(int argc, _TCHAR*...


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

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

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