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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.76
selevit
 Аватар для selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
#1

Функция вычисления степени числа (рекурсия) - C++

14.09.2010, 20:05. Просмотров 4592. Ответов 4
Метки нет (Все метки)

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

C++
1
2
3
4
5
6
7
8
9
double stepen(double X, int N)
{
    if (N == 0)
        return 1;
    else if (N > 0)
        return 1 / stepen(X, -N);
    else 
        return X * stepen(X, N - 1);
}
отладчик выдает ошибку - что то вроде необработанного исключения, подскажите пожалуйста, в чем ошибка, строго не судите, я только учусь. =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2010, 20:05     Функция вычисления степени числа (рекурсия)
Посмотрите здесь:

Функция вычисления процента от числа х C++
C++ Разработать алгоритм вычисления корня n-ой степени из комплексного числа
C++ Рекурсивная функция вычисления разрядности числа в двоичном виде
C++ функция вычисляющяя степень числа по основанию и показателю степени
C++ Рекурсия (функция определения НОД (наибольшего общего делителя) числа алгоритмом Евклида)
C++ Реализовать рекурсивную функцию вычисления степени из числа
Составить программу вычисления степени числа А с натуральным показателем N . (Записать варианты программы с 3 видами циклов: for, while, do…while) C++
Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку C++
Рекурсия для вычисления квадрата числа C++
C++ Создать функцию вычисления степени числа с показателем (без использования функции pow)
Рекурсивная функция, расчет степени числа C++
Написать рекурсивную функцию для вычисления натуральной степени заданного целого числа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
14.09.2010, 20:13     Функция вычисления степени числа (рекурсия) #2
Гм. С отрицательными не так.

C++
1
2
3
4
5
6
7
8
9
double stepen(double X, int N)
{
        if (N == 0)
                return 1;
        else if (N > 0)
                return X*stepen(X, N-1);
        else 
                return  1/stepen(X, N+1);
}
selevit
 Аватар для selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
14.09.2010, 20:22  [ТС]     Функция вычисления степени числа (рекурсия) #3
да, епт, знак перепутал =) со всемы бывает =)

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
double stepen(double X, int N)
{
        if (N == 0)
                return 1;
        else if (N < 0)
                return 1 / stepen(X, -N);
        else 
                return X * stepen(X, N - 1);
так все нормально =) Спасибо
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
14.09.2010, 20:27     Функция вычисления степени числа (рекурсия) #4
selevit, Етить. А я там что только не вытворял чтобы заработало. Оказывается просто не так делал немного
selevit
 Аватар для selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
15.09.2010, 19:22  [ТС]     Функция вычисления степени числа (рекурсия) #5
Lavroff, я заметил, что это закономерность, бывает много ошибок, например при компиляции, одну строку исправишь и все заработает, а вот такие ошибки, которые возникают при выполнении программы - найти не всегда так просто. =)
Yandex
Объявления
15.09.2010, 19:22     Функция вычисления степени числа (рекурсия)
Ответ Создать тему
Опции темы

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