Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Lanka1313
0 / 0 / 1
Регистрация: 18.02.2016
Сообщений: 15
1

Возведение числа в отрицательную степень (без функции pow)

18.02.2016, 15:54. Просмотров 1287. Ответов 11
Метки нет (Все метки)

Здравствуйте) Помогите, пожалуйста, нужно возвести число в степень, в положительную получилось, а вот как возвести в отрицательную, не понимаю. Спасибо за помощь) Да, без pow.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int x,n,c,z; 
 
cout « "input number: "; 
cin » x; 
c=x; 
cout « "input power: "; 
cin » n; 
 
for (int i = 1; i < n; i++) 
{ 
if (n>0) 
{ 
x=x*c; 
} 
else 
{ 
x=x*c; 
x=1/x; 
 
} 
 
} 
cout« "result: " « x « endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2016, 15:54
Ответы с готовыми решениями:

Возведение числа в отрицательную степень
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() {...

Возведение матрицы в степень с использованием функции pow
Дана задача: возвести матрицу, введенную с клавиатуры (необязательно...

Возведение в степень pow
Не могу понять почему выдаёт ошибку &quot;while trying to match the argument list...

Возведение в степень, pow
вычитал что возведение в степень - функция pow. #include &quot;stdafx.h&quot;...

Не работает возведение в степень через pow
почему не работает?? не пойму #include &lt;iostream&gt; using namespace std; ...

11
_Valera_
490 / 372 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
18.02.2016, 15:57 2
Lanka1313, найти положительную, а потом поделить единицу на нее.
http://www.algebraclass.ru/otricatelnaya-stepen/

http://e-maxx.ru/algo/binary_pow
1
Lanka1313
0 / 0 / 1
Регистрация: 18.02.2016
Сообщений: 15
18.02.2016, 16:03  [ТС] 3
Спасибо) Но Как его выкрутить? У меня получается если 3 ^-3 то или 1 или 3.... Нужен еще один цикл, или что? если можно, посмотреть код и подсказать)))
0
_Valera_
490 / 372 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
18.02.2016, 16:07 4
Цитата Сообщение от Lanka1313 Посмотреть сообщение
Нужен еще один цикл,
Цитата Сообщение от _Valera_ Посмотреть сообщение
http://e-maxx.ru/algo/binary_pow
то не верное решение.
0
sourcerer
Модератор
Эксперт CЭксперт С++
4868 / 2053 / 325
Регистрация: 20.02.2013
Сообщений: 5,556
Записей в блоге: 24
Завершенные тесты: 1
18.02.2016, 20:30 5
Lanka1313, вот:
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
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
 
double power(double base, int exp);
 
int main()
{
    std::cout << "Please enter a base: ";
    double base;
    std::cin >> base;
 
    std::cout << "\nPlease enter a power: ";
    int exp;
    std::cin >> exp;
 
    std::cout << "\nThe result is: " << power(base, exp);
 
    return 0;
}
 
double power(double base, int exp)
{
    double result = 1;
 
    int loop_ends;
    if (exp < 0)
        loop_ends = -1 * exp;
    else
        loop_ends = exp;
 
    for (int i = 0; i < loop_ends; ++i)
        result *= base;
 
    if (exp < 0)
        result = 1 / result;
 
    return result;
}
1
Lanka1313
0 / 0 / 1
Регистрация: 18.02.2016
Сообщений: 15
18.02.2016, 23:37  [ТС] 6
Спасибо))) Сейчас буду разбираться)
0
sourcerer
Модератор
Эксперт CЭксперт С++
4868 / 2053 / 325
Регистрация: 20.02.2013
Сообщений: 5,556
Записей в блоге: 24
Завершенные тесты: 1
19.02.2016, 06:57 7
Lanka1313, вообще, можно, конечно, более читаемым код сделать попробовать:
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
27
28
29
30
31
32
33
34
35
36
#include <iostream>
 
int abs(int num);
double power(double base, int exp);
 
int main()
{
    std::cout << "Please enter a base: ";
    double base;
    std::cin >> base;
 
    std::cout << "\nPlease enter a power: ";
    int exp;
    std::cin >> exp;
 
    std::cout << "\nThe result is: " << power(base, exp);
 
    return 0;
}
 
int abs(int num)
{
    return num < 0 ? -num : num;
}
 
double power(double base, int exp)
{
    double result = 1;
 
    int loop_ends = abs(exp);
 
    for (int i = 0; i < loop_ends; ++i)
        result *= base;
 
    return exp < 0 ? 1 / result : result;
}
0
SpBerkut
Объявлятель переменных
948 / 274 / 276
Регистрация: 24.09.2011
Сообщений: 1,009
Завершенные тесты: 2
19.02.2016, 07:25 8
Нет, вы серьёзно?
C++
1
2
3
4
5
#include <cmath>
double mypower (double a, double n)
{
    return exp(log(a)*n); //=a^n. Естественно, a должно быть > 0
}
0
sourcerer
Модератор
Эксперт CЭксперт С++
4868 / 2053 / 325
Регистрация: 20.02.2013
Сообщений: 5,556
Записей в блоге: 24
Завершенные тесты: 1
19.02.2016, 13:00 9
Цитата Сообщение от SpBerkut Посмотреть сообщение
Нет, вы серьёзно?
SpBerkut, вполне. Логично было предположить, что если нельзя pow() из заголовочного файла cmath, то и другие функции из cmath тоже нельзя, и препод хочет ребятишек такие вот штуки научить ручками делать.
0
SpBerkut
Объявлятель переменных
948 / 274 / 276
Регистрация: 24.09.2011
Сообщений: 1,009
Завершенные тесты: 2
19.02.2016, 13:01 10
Цитата Сообщение от gru74ik Посмотреть сообщение
то и другие функции из cmath тоже нельзя
А вот об этом речи не было.
0
sourcerer
Модератор
Эксперт CЭксперт С++
4868 / 2053 / 325
Регистрация: 20.02.2013
Сообщений: 5,556
Записей в блоге: 24
Завершенные тесты: 1
19.02.2016, 13:04 11
Цитата Сообщение от SpBerkut Посмотреть сообщение
А вот об этом речи не было.
О деталях реализации тоже речи не было. Так что, я в своём праве. Как захотел, так и сделал. Если топикстартеру не подойдёт мой вариант, я рыдать не буду.
0
SpBerkut
19.02.2016, 13:06     Возведение числа в отрицательную степень (без функции pow)
  #12

Не по теме:

Цитата Сообщение от gru74ik Посмотреть сообщение
Так что, я в своём праве. Как захотел, так и сделал.
Да на здоровье. Можно подумать, я вас в чём-то упрекаю.

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

Рекурсивные функции: возведение вещественного числа в целую степень
Цель: Надо разработать программу для возведения вещественного числа в целую...

Ошибка при возведении числа в отрицательную степень
Здравствуйте! Начал учить С++ по книге Лафоре. При выполнении задачи из раздела...

Возведения числа в целую положительную и отрицательную степень
Запрограммируйте алгоритм возведения числа в целую положительную и...


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

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

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