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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.59
OneLove
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 28
#1

Возведения числа в целую положительную и отрицательную степень - C++

17.04.2011, 13:48. Просмотров 4593. Ответов 6
Метки нет (Все метки)

Запрограммируйте алгоритм возведения числа в целую положительную и отрицательную степень.
Пользователь вводит данные с клавиатуры. Программа выполняет вычисление и предлагает ввести следующую пару чисел. Отказом от продолжения служит возведение 0 в 0-ю степень.
При возведении в степень используйте рекурсивный алгоритм. Примените механизм исключений для обработки возможных ошибок при вводе данных и вычислении результатов.




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

Составить программу возведения числа n в целую степень - C++
Составить программу возведения числа n в целую степень. Правильно выбирайте раздел для размещения задачи

Реализовать класс с методом возведения числа в целую степень - C++
реализовать метод возвидения чесла в степень должно быть два поля, одно поле дробно, второе целое

Составить программу возведения указанного натурального числа в заданную целую степень - C++
Помогите ГОРЮ!) вообще не могу понять условия) Составить программу возведения данного натурального числа a в целую степень n. Учесть,...

Вещественное число возвести в целую положительную степень n - C++
вычислить an(n>0). входные данные: а-вещественное число которую надо возвести в целую положительную степень n выходные...

Возвести вещественное число A в целую положительную степень k - C++
Возвести вещественное число A в целую положительную степень k с выполнением следующих условий: стандартными функциями пользоваться нельзя;...

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

6
prazuber
110 / 110 / 3
Регистрация: 29.04.2010
Сообщений: 240
17.04.2011, 14:13 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template<class _Ty> inline
_Ty Pow(_Ty _X, int _Y)
{
    unsigned int _N;
    if (_Y >= 0)
        _N = (unsigned int)_Y;
    else
        _N = (unsigned int)(-_Y);
    for (_Ty _Z = _Ty(1); ; _X *= _X)
    {
        if ((_N & 1) != 0)
            _Z *= _X;
        if ((_N >>= 1) == 0)
            return (_Y < 0 ? _Ty(1) / _Z : _Z); 
    }
}
Функция возведения. В наглую передрал из стандартных
0
OneLove
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 28
17.04.2011, 14:22  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    template<class _Ty> inline
_Ty Pow(_Ty _X, int _Y)
{
        unsigned int _N;
        if (_Y >= 0)
                _N = (unsigned int)_Y;
        else
                _N = (unsigned int)(-_Y);
        for (_Ty _Z = _Ty(1); ; _X *= _X)
        {
                if ((_N & 1) != 0)
                        _Z *= _X;
                if ((_N >>= 1) == 0)
                        return (_Y < 0 ? _Ty(1) / _Z : _Z); 
        }
}
}



ошибка 2 IntelliSense: использование объявления шаблона не допускается d:\програмирование 1курс\дз\kontrlna\kontrlna\kontrlna.cpp 10 2 kontrlna
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
17.04.2011, 15:20 #4
OneLove, Ничего логичнее кроме как засунуть функцию в main сделать не придумали?
0
OneLove
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 28
17.04.2011, 15:23  [ТС] #5
Цитата Сообщение от ForEveR Посмотреть сообщение
OneLove, Ничего логичнее кроме как засунуть функцию в main сделать не придумали?
ой........
всеравно не работает если меин опустить(((
ошибка шаблона выскакивает(((
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
17.04.2011, 15:26 #6
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
template<class _Ty> inline
_Ty Pow(_Ty _X, int _Y)
{
        unsigned int _N;
        if (_Y >= 0)
                _N = (unsigned int)_Y;
        else
                _N = (unsigned int)(-_Y);
        for (_Ty _Z = _Ty(1); ; _X *= _X)
        {
                if ((_N & 1) != 0)
                        _Z *= _X;
                if ((_N >>= 1) == 0)
                        return (_Y < 0 ? _Ty(1) / _Z : _Z); 
        }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    cout<<Pow(3, 2)<<'\n';
}
0
OneLove
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 28
17.04.2011, 15:40  [ТС] #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
#include "stdafx.h"
#include <stdlib.h>
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{double A;
int k;
double r(1);
int z;
cout<<"Vubirete stepen esli minysova9 to vedite cifry (1) esli plysova9 to cifry (2)"<<endl;
cin>>z;
cout<<"Input A; "; cin>>A; //вводим A
cout<<"Input k: "; cin>>k; //вводим k
if(z=1)
for( int i = 0; i < k ; i++ )r*=A; //возводим число в степень.
r=1/r;
else(z=2);
for( int i = 0; i < k ; i++ )r*=A; //возводим число в степень.
 
cout<<"Otvet: "<<r<<endl; //выводим ответ.
system("pause");
return 0;


Помогите исправить ошибку.....
0
17.04.2011, 15:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2011, 15:40
Привет! Вот еще темы с ответами:

Возведение числа в отрицательную степень - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Rus&quot;); double a, b , pow(1),...

Ошибка при возведении числа в отрицательную степень - C++
Здравствуйте! Начал учить С++ по книге Лафоре. При выполнении задачи из раздела функции столкнулся со следующей проблемой (задача на...

Возведение числа в отрицательную степень (без функции pow) - C++
Здравствуйте) Помогите, пожалуйста, нужно возвести число в степень, в положительную получилось, а вот как возвести в отрицательную, не...

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


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

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

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