Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2014, 19:57   #1
nobo
 
Регистрация: 18.10.2013
Сообщений: 6
По умолчанию Написать рекурсивную функцию возведение вещественного числа в целую степень

Написать рекурсивную функцию
возведение вещественного числа в целую степень
Спасибо заранее всем)
nobo вне форума Ответить с цитированием
Старый 07.05.2014, 20:32   #2
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

а в чем проблема?
SAMOUCHKA вне форума Ответить с цитированием
Старый 07.05.2014, 21:04   #3
nobo
 
Регистрация: 18.10.2013
Сообщений: 6
По умолчанию

Цитата:
Сообщение от SAMOUCHKA Посмотреть сообщение
а в чем проблема?
я просто не знаю как(
nobo вне форума Ответить с цитированием
Старый 07.05.2014, 21:58   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Думаю, что-то похожее на это... Хотя можно было сделать по красивее , но хотелось по проще и доступнее.
Код:
#include <iostream>
#include <cstdlib>
#include <locale>

using namespace std;
double exponent(double, int);

int main() {
	double number;	// Возводимое число
	int extent;		// Степень
	setlocale(0, "rus");
	
	cout << "\n Введите вещественное число: ";
	cin >> number;
	cout << "\n Возвести в степень: ";
	cin >> extent;

	cout << "\n Результат: ";
	(extent > 0) ? cout << exponent(number, extent-1) : cout << 1;
	cout << endl;
	return 0;
}

// Возведение в степень
double exponent(double number, int extent) {
	
	return (extent > 0) ? number * exponent(number, extent-1) : number;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 07.05.2014, 23:42   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Вроде работает:
Код:
double expo(double number, int extent) {
    if (extent == 0)
        return 1;
    else {
        double tmp = expo(number, extent / 2);
        return (extent % 2) ? number * tmp * tmp : tmp * tmp;
    }
}

double exponent(double number, int extent) {
    return (extent < 0) ? 1 / expo(number, -extent) : expo(number, extent);
}

//вызов: exponent(-2, 3);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 11.05.2014, 17:12   #6
nobo
 
Регистрация: 18.10.2013
Сообщений: 6
По умолчанию

Спасибо огромное
nobo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа возведения числа A в целую степень N. на Java vikysha55 Помощь студентам 1 02.04.2014 05:33
Задано натуральное число N. Написать рекурсивную функцию для вычисления количества цифр заданного числа. kirito_17 Помощь студентам 2 20.11.2013 15:55
Возведение вещественного числа в куб SL1CK Общие вопросы .NET 1 31.01.2010 17:48
C# ф-я возведения вещ числа в целую степень без include<math.h> Mitya999 Помощь студентам 5 14.12.2009 16:30
Возведение числа в степень Gross Общие вопросы Delphi 8 25.12.2008 19:37