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

Рекурсивная функция возведения в степень - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ fread с непонятной ошибкой http://www.cyberforum.ru/cpp-beginners/thread704750.html
Вот фрагмент кода, который вызывает ошибку: FILE *t = fopen("squares.db","r"); if (!t) { char log; sprintf(log, "Error opening squares.db", argv); SetReady(log); return 1; } town_square *town=NULL;
C++ Как создать приложение? Доброго времени суток, форумчане! Написала программу игры крестики-нолики, все работает. Но нужно сделать прям приложение, чтобы можно было играть с компьютером, помогите осуществить это.. #include <cstdlib> #include <iostream> using namespace std; char board={}; void clrscr() http://www.cyberforum.ru/cpp-beginners/thread704746.html
Объединить 2 массива: переделать код с использованием функций C++
Программа, которая с помощью созданной функции, осуществляет объединение двух массивов А, В в массив С Добавлено через 55 секунд #include<iostream.h> #include<conio.h> void main () {int A={1,2,3,4,5,6,7,8,9,10}; int B={-3,25,6,-4,6,-2,0,1,9,11}; int C; for (int i=0; i<20; i++)
C++ Табулировать функции F и S при заданной точности E, с указанным шагом и диапазоном значений по x:
Помогите пожалуйста написать прогу Табулировать функции F и S при заданной точности E, с указанным шагом и диапазоном значений по x:
C++ Метод касательных (Ньютона) http://www.cyberforum.ru/cpp-beginners/thread704726.html
Добрый вечер! Вот нашел на форуме задачу решения уравнения по методу касательных (Ньютона): #include <conio.h> #include <math.h> #include <iostream.h> #define pi 3.14 double f(double x) { return x*x-(cos(pi*x)); }
C++ Объясните некоторые легкие команды 1) Когда мы пишет UNSIGNED и чем он отличается от SIGNED например unsigned int number - что это обозначает 2) Что такое size const int size = 3 - например что это означает 3) int count = 0 - что это? подробнее

Показать сообщение отдельно
OasisKharkov
1 / 1 / 0
Регистрация: 28.07.2012
Сообщений: 35
21.11.2012, 21:36  [ТС]     Рекурсивная функция возведения в степень
Спасибо MrGluck, ведь в любом учебнике написано, не называйте пользовательские функции именами стандартных функций или другими ключевыми словами. Я, по глупости, забыл, что pow(double x, double y) - стандартная и по привычке назвал мою функцию так же...
Теперь заработало:
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
#include <iostream>
using namespace std;
 
unsigned power(unsigned base, unsigned short exp);
 
int main()
{
    unsigned base, value;
    unsigned short exp;
    
    cout << "Enter base: ";
    cin >> base;
    cout << "Enter exponent: ";
    cin >> exp;
    if (!exp)
        cout << "Value is: " << 1 << "\n";
    else{
        value = power(base,exp);
        cout << "Value is: " << value << "\n";
    }
 
    return 0;
}
 
unsigned power(unsigned base, unsigned short exp){
    if (exp==1)
        return base;
    else{
        return (base*power(base,exp-1));
    }
}
Добавлено через 22 минуты
Странно только то, почему функция pow() работала, если я не подключал заголовок #include <cmath> ?
Или в современных компиляторах достаточно подключить заголовок #include <iostream>, хотя ведь он связан с вводом-выводом, а не с математическими функциями.
 
Текущее время: 10:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru