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

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

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

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

27.01.2014, 20:17. Просмотров 932. Ответов 10
Метки нет (Все метки)

Написать функцию, которая вычисляет значение а^b. Числа а и b могут быть любыми дробными положительными числами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 20:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать функцию возведения в степень (C++):

Написать функцию возведения в степень - C++
Написать программу, которая выводит на печать значения 1^1, 2^2, 3^3, 4^4, 5^5 Степени чисел должны вычисляться в отдельной функции....

Написать функцию возведения числа в степень - C++
нужна функция возведения в степень чтобы возвращала результат.... int involution(int a,int b) { cout<<pow(2,3); return ??? ...

Написать функцию возведения в целую степень - C++
Написать функцию возведения в целую степень без POW

Перегрузить функцию возведения в степень - C++
Перегрузить функцию stepen(), в которой число x будет возводиться в степень у: а) x – целое, у – дробное; б) x – целое, у – целое; в)...

Подскажите как заменить функцию возведения в степень в 38 строке - C++
Задано функцию. Написать программу для нахождения определенного интеграла с точностью Е = 10-3 для заданных границ с помощью трех методов:...

Реализовать рекурсивную функцию возведения заданного числа в степень n - C++
Напишите рекурсивную функцию int power(int a, int n) которая считает a^n. (a степень n) примеры для проверки 1)220 0 1 ...

10
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
27.01.2014, 20:22 #2
Например вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
double func(double a, double b)
{
 double result = 1;
 int i = 0;
 while (i<b)
 {
  result*=a;
    i++;
 }
 return result;
}
1
banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
28.01.2014, 18:23  [ТС] #3
а как теперь в програме нормально написать типа введите число и степень и вызвать эту функцию что б применялось и считало это число в степени!
0
zss
Модератор
Эксперт С++
6576 / 6138 / 2021
Регистрация: 18.12.2011
Сообщений: 15,993
Завершенные тесты: 1
28.01.2014, 18:30 #4
C++
1
2
3
4
double func(double a, double b)
{
     return exp(b*log(a));
}
Добавлено через 1 минуту
_include, а почему у Вас результат не зависит от значения дробной части b?
0
banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
28.01.2014, 18:32  [ТС] #5
напиши тогда полностью что не правильно что нада исправить весь код можеш скинуть
0
zss
Модератор
Эксперт С++
6576 / 6138 / 2021
Регистрация: 18.12.2011
Сообщений: 15,993
Завершенные тесты: 1
28.01.2014, 18:33 #6
Цитата Сообщение от banan4ik993 Посмотреть сообщение
а как теперь в програме нормально написать типа введите число и степень
Так же, как и всегда
C++
1
2
3
4
5
6
cout<<"введите число:";
cin>>a;
cout<<"введите степень";
cin>>b;
y=func(a,b);
cout<<y;
1
banan4ik993
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 86
28.01.2014, 18:49  [ТС] #7
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
4
double func(double a, double b)
{
     return exp(b*log(a));
}
Добавлено через 1 минуту
_include, а почему у Вас результат не зависит от значения дробной части b?
это просто нада реторн поменять я так понял ? а что сейчас неправильно будет считать ?

Добавлено через 6 минут
а как быть с числом например 5 в степени 1/2 как это написать в програме потому что сейчас не правильно в дробной степени считает.
0
zss
Модератор
Эксперт С++
6576 / 6138 / 2021
Регистрация: 18.12.2011
Сообщений: 15,993
Завершенные тесты: 1
28.01.2014, 18:55 #8
Цитата Сообщение от banan4ik993 Посмотреть сообщение
а как быть с числом например 5 в степени 1/2
exp(b*log(a)) будет считать правильно.
Если такой вариант не подходит,
то тогда только через разложение в ряд Тейлора.
0
Саир_Крон
1 / 1 / 0
Регистрация: 12.02.2014
Сообщений: 57
12.02.2014, 11:24 #9
Подскажите где ошибка? Я использую библиотеку <<cmath>> код pow(x,y) а программа выдает мне ошибку...

Работаю в программе QT
Код программы:
PHP
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
40
41
42
43
44
45
#include<windows.h>                                                //Системный заголовок файла
#include<iostream>
#include<cmath>
 
using namespace std;                                               //Использовать стандартное пространство имен
 
int main()
{
    system("title Програмирование Работа 1 - Задание № 2.1.4 ");   //Вывести сообщение в заголовок консоли с помощь системной команды title
 
    //руссификация консоли
    SetConsoleOutputCP(1251);                                      //Установить кодовую таблицу для окна консоли
    system("color f1");                                            //Задание свойств консоли (цветовая схема)
 
    system("echo ДЕЙСВТИЕ ВЫПОЛНЯЕМЫЕ ПРОГРАММОЙ ");               //Вывести сообщение с помощью команды есрщ косольного режима Windows
    system("echo . ");
    system("echo Представленную формулу  x^y должны ввестись значения для X и Y: ");
    system("echo . ");
 
 
    double x(0),y(0);                                              //2 Входных переменных X и Y
    double formyla(0);                                             //Вывод результата решении формулы
    double pow (0);
 
    //ВВОД ВХОДНЫХ ДАННЫХ
    cout<<"Пожалуйсто ведите значение для X => ";
    cin>>x;
 
    cout<<"Пожалуйсто ведите значение для Y  => ";
    cin>>y;
 
    //ФОРМУЛА ДЛЯ ВЫЧИСЛЕНИЯ
    formyla=pow(x,y);
 
    //ВЫВОД РЕЗУЛЬТАТА
    system("echo ....................................................... ");
    system("echo ВЫЧИСЛЕНИЕ: ");
 
    cout<<"Результат решение  "<<x<<"^"<<y<<" = " <<formyla<<endl<<endl;
 
 
    system("pause");                                               //Держать консоль на экране до нажатия на любою клавишу
    return 0;                                                      //Вернуть управленеи в ОС и возвратить код норального завершения
 
}
0
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.02.2014, 11:50 #10
Цитата Сообщение от Саир_Крон Посмотреть сообщение
C++
23
double pow (0);
Удали эту штуку на 23-й строке. Из-за нее компилятор не видит функции pow() из math.h
1
Саир_Крон
1 / 1 / 0
Регистрация: 12.02.2014
Сообщений: 57
12.02.2014, 12:04 #11
Цитата Сообщение от programina Посмотреть сообщение
Удали эту штуку на 23-й строке. Из-за нее компилятор не видит функции pow() из math.h
мм блин...
Спасибки =)
0
12.02.2014, 12:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2014, 12:04
Привет! Вот еще темы с ответами:

Вычислить сумму степеней, используя рекурсивную функцию возведения в степень - C++
Водится любое целое число b и вещественные a, c. Вычислить z=ab + cb, используя рекурсивную функцию xn xn = 1, если n = 0 xn...

Возведения в степень - C++
Народ нужна помощь так как только, сегодня утром начал учить С++ сразу же возникли вопросы Например у меня есть последовательность чисел...

программа возведения в степень - C++
Друзья, я &quot;начинающий&quot; в СИ и поэтому столкнулся с такой проблемой: мой компилятор &quot;Miracle C&quot; Неправильно выполняет код, взятый из...

Класс возведения в степень - C++
Добрый день всем. Тут зашел в тупик. Класс с функцией-членом возведения числа в степень путем перемножения друг на друга (я хочу добавить и...


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

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

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