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

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

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

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

18.02.2016, 15:54. Просмотров 668. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возведение числа в отрицательную степень (без функции pow) (C++):

Возведение числа в отрицательную степень - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Rus&quot;); double a, b , pow(1),...

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

Возведение в степень pow - C++
Не могу понять почему выдаёт ошибку &quot;while trying to match the argument list '(int, int)'&quot;. Если объявлять переменные через double, то...

возведение в степень, pow - C++
вычитал что возведение в степень - функция pow. #include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; using namespace...

Не работает возведение в степень через pow - C++
почему не работает?? не пойму #include &lt;iostream&gt; using namespace std; #include &lt;cmath&gt; int power(int, int); int...

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

11
_Valera_
488 / 370 / 94
Регистрация: 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 / 0
Регистрация: 18.02.2016
Сообщений: 15
18.02.2016, 16:03  [ТС] #3
Спасибо) Но Как его выкрутить? У меня получается если 3 ^-3 то или 1 или 3.... Нужен еще один цикл, или что? если можно, посмотреть код и подсказать)))
0
_Valera_
488 / 370 / 94
Регистрация: 27.01.2015
Сообщений: 1,588
18.02.2016, 16:07 #4
Цитата Сообщение от Lanka1313 Посмотреть сообщение
Нужен еще один цикл,
Цитата Сообщение от _Valera_ Посмотреть сообщение
http://e-maxx.ru/algo/binary_pow
то не верное решение.
0
gru74ik
Модератор
Эксперт CЭксперт С++
4196 / 1844 / 198
Регистрация: 20.02.2013
Сообщений: 4,991
Записей в блоге: 22
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 / 0
Регистрация: 18.02.2016
Сообщений: 15
18.02.2016, 23:37  [ТС] #6
Спасибо))) Сейчас буду разбираться)
0
gru74ik
Модератор
Эксперт CЭксперт С++
4196 / 1844 / 198
Регистрация: 20.02.2013
Сообщений: 4,991
Записей в блоге: 22
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
Объявлятель переменных
908 / 234 / 113
Регистрация: 24.09.2011
Сообщений: 875
Завершенные тесты: 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
gru74ik
Модератор
Эксперт CЭксперт С++
4196 / 1844 / 198
Регистрация: 20.02.2013
Сообщений: 4,991
Записей в блоге: 22
19.02.2016, 13:00 #9
Цитата Сообщение от SpBerkut Посмотреть сообщение
Нет, вы серьёзно?
SpBerkut, вполне. Логично было предположить, что если нельзя pow() из заголовочного файла cmath, то и другие функции из cmath тоже нельзя, и препод хочет ребятишек такие вот штуки научить ручками делать.
0
SpBerkut
Объявлятель переменных
908 / 234 / 113
Регистрация: 24.09.2011
Сообщений: 875
Завершенные тесты: 2
19.02.2016, 13:01 #10
Цитата Сообщение от gru74ik Посмотреть сообщение
то и другие функции из cmath тоже нельзя
А вот об этом речи не было.
0
gru74ik
Модератор
Эксперт CЭксперт С++
4196 / 1844 / 198
Регистрация: 20.02.2013
Сообщений: 4,991
Записей в блоге: 22
19.02.2016, 13:04 #11
Цитата Сообщение от SpBerkut Посмотреть сообщение
А вот об этом речи не было.
О деталях реализации тоже речи не было. Так что, я в своём праве. Как захотел, так и сделал. Если топикстартеру не подойдёт мой вариант, я рыдать не буду.
0
SpBerkut
19.02.2016, 13:06     Возведение числа в отрицательную степень (без функции pow)
  #12

Не по теме:

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

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

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

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

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

Возведение в степень без умножения - C++
// 30_square.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &quot;../../std_lib_facilities.h&quot; ...


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

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

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