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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
viktor 1105
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 24
#1

Рекурсивная функция. Возвести число в степень путём многократного умножения самого на себя - C++

22.03.2014, 14:03. Просмотров 1299. Ответов 10
Метки нет (Все метки)

помогите

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream.h>
int muFunc(int x ,int  y );
int main ()
{
     short int x , y , z;
 
     cout<<" vedit chislo :  " ;
     cin >>x ;
     cout << "\n vedit stepin:   ";
     cin >> y ;
 
    z = muFunc ( x, y);
    cout << "\n rezult:   " << z ;
 
return 0 ;
}
int muFunc(unsigned short int x, unsigned short int y )
{
 Комментарий модератора 
Не игнорируйте замечания администрации. Пользуйтесь соответствующем тегом для оформления кода.


напишите пожалуйста рекурсивную функцию , которая возносит число в степень путём многократного умножения числа самого на себя
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 14:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсивная функция. Возвести число в степень путём многократного умножения самого на себя (C++):

Напишите рекурсивную функцию, которая возводит число в степень путем многократного умножения числа на самое себя - C++
Доброе время суток! Напишите рекурсивную функцию, которая возводит число в степень путем многократного умножения числа на самое себя,...

написать рекурсивную функцию, которая взводит число в степень путем многократного умножения числа на самое себя. - C++
Помогите написать программу , которая запрашивает два числа (1-ое число, 2 -показатель его степени). И надо написать рекурсивную функцию,...

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

Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++. - C++
Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++.

Если введенное число отрицательное и четное, то возвести его в 3 степень, иначе возвести в квадрат - C++
Ввести целое число В. Если В отрицательное и четное, то возвести его в 3 степень, иначе возвести в квадрат

Рекурсивная функция умножения целых чисел - C++
Нужно написать рекурсивную функцию умножения двух целых чисел. Вот, что у меня получилось : int mul(int a, int b) { if (b == 1) ...

10
aex
89 / 78 / 29
Регистрация: 06.03.2014
Сообщений: 230
22.03.2014, 14:11 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
int muFunc(int x ,int y )
{
    if (y==0) return 1;
    else return (x*muFunc(x,y-1));
}
1
viktor 1105
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 24
22.03.2014, 17:14  [ТС] #3
выводит ошибку
0
n971030
150 / 97 / 1
Регистрация: 23.01.2010
Сообщений: 1,276
22.03.2014, 17:20 #4
Цитата Сообщение от viktor 1105 Посмотреть сообщение
помогите

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
38
39
#include <stdio.h>
#include <stdlib.h>
 
float power(float x, int y);
 
int main(void) {
 
    float m;
    int n;
 
    printf("Введите основание степени M: ");
    scanf("%f", &m);
    if (m >= 10 || m <= -10) {
        printf("Основание степени не принадлежит интервалу (-10, 10).\n");
        return EXIT_SUCCESS;
    }
 
    printf("Введите показатель степени N: ");
    scanf("%d", &n);
    if (n >= 10 || n <= 0) {
        printf("Показатель степени не принадлежит интервалу (0, 10).\n");
        return EXIT_SUCCESS;
    }
 
    printf("M ^ N = %g\n", power(m, n));
 
    return EXIT_SUCCESS;
}
 
float power(float x, int y) {
 
    int i;
    float rez = 1;
 
    for(i = 1; i <= y; ++i) {
        rez *= x;
    }
    return rez;
}
1
aex
89 / 78 / 29
Регистрация: 06.03.2014
Сообщений: 230
22.03.2014, 20:26 #5
n971030, так у вас же не рекурсивная функция
viktor 1105, а в чём ошибка то? скиньте лучше весь получившийся код
1
n971030
150 / 97 / 1
Регистрация: 23.01.2010
Сообщений: 1,276
22.03.2014, 22:06 #6
Цитата Сообщение от aex Посмотреть сообщение
ак у вас же не рекурсивная
пусть проанализирует код
1
viktor 1105
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 24
22.03.2014, 22:32  [ТС] #7
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
#include<iostream.h>
int muFunc(int x ,int  y );
int main ()
{
      int x , y , z;
 
     cout<<" vedit chislo :  " ;
     cin >>x ;
     cout << "\n vedit stepin:   ";
     cin >> y ;
 
    z = muFunc ( x, y);
    cout << "\n rezult:   " << z ;
 
return 0 ;
}
int muFunc(int x,int y )
{
 if (y==1)
 return x;
 else if (y==0)
    return 1 ;
 
else
return (x*muFunc(x,y-1));
 
}
уже сделал , спасибо за помощь
0
aex
89 / 78 / 29
Регистрация: 06.03.2014
Сообщений: 230
22.03.2014, 23:09 #8
n971030, у вас же просто функция, которая вычисляет http://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{y} в цикле.
рекурсивная же должна вызывать сама себя, разве я не прав?
0
n971030
150 / 97 / 1
Регистрация: 23.01.2010
Сообщений: 1,276
22.03.2014, 23:11 #9
Цитата Сообщение от aex Посмотреть сообщение
себя, разве я не прав?
Да! Так вставь одну в другую и все дела.
0
viktor 1105
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 24
23.03.2014, 01:14  [ТС] #10
а разве она не вызывает саму себя ?
0
aex
89 / 78 / 29
Регистрация: 06.03.2014
Сообщений: 230
23.03.2014, 10:08 #11
viktor 1105, здесь да, вызывает
C++
1
2
3
4
5
6
7
8
9
int muFunc(int x,int y )
{
 if (y==1)
 return x;
 else if (y==0)
    return 1 ;
 
else
return (x*muFunc(x,y-1));
вот тут
C++
1
return (x*muFunc(x,y-1));
1
23.03.2014, 10:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2014, 10:08
Привет! Вот еще темы с ответами:

Рекурсивная функция возведения в степень - C++
Мое задание: Вычислить y = x^n(икс в степени n) по следующему правилу: y = ( x^n/2 )^2, если n четное и y = x * y^(n–1), если n...

Рекурсивная функция возведения в степень - C++
Ребята, написал функцию для возведения в степень из учебника, но она почему-то не хочет работать. Вот код: int pow(int base, unsigned...

Возвести число в степень - C++
Дано натуральное n. Написать программу вычисления a^n(&quot;а&quot; в степени n)

Рекурсивная функция вычисления умножения элементов одномерного массива - C++
Реализовать рекурсивную функцию вычисление умножения элементов одномерного массива, - текст задания. Нужно сделать с помощью функций, то...


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

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

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