Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
maestro4250
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
1

Возведение числа в степень и проверка числа на четность

10.05.2015, 20:07. Просмотров 2541. Ответов 14
Метки нет (Все метки)

Добрый вечер что то вообще не понял эту тему помогите пожалуйста
С помощью директивы #define написать следующие макросы:
a) возведение числа в степень;
b) проверка числа на четность;
с) нахождение меньшего из двух чисел.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2015, 20:07
Ответы с готовыми решениями:

Возведение числа в степень n-1
Есть формула {(-1)}^{n-1}*{3}^{n-1} , n увеличивается циклом на 1. Как записать...

Возведение числа а в степень n
Возведение числа а в степень n ,задача не проста чем , 1<=а<=10 | 1<=n<=7000...

Возведение числа в степень!
Хай всем кто на форуме! Помогите с задачей! Надо возвести число в степень...

Возведение числа в степень
Помогите написать программу, возводящщую число M в степень N (-10<M<10, 0<N<10...

Возведение числа n в степень m.
Написать программу - возведение числа n в m-ю степень. Входные данные поступают...

14
_N_
18 / 18 / 15
Регистрация: 17.02.2013
Сообщений: 85
10.05.2015, 21:49 2
b-c:
C++
1
2
#define IS_ODD(n) ((n % 2) == 1)
#define MIN(x,y) ((x) > (y) ? (y) : (x))
Для а моя идея не сработала:
C++
1
#define POW(x,n) ((n > 1) ? ((x)*POW(x,n-1)) : (x))
самому интересно, как такое сделать....
1
maestro4250
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
10.05.2015, 21:57  [ТС] 3
может без функции POW просто х*х ?
0
Brandi
3 / 3 / 8
Регистрация: 29.12.2014
Сообщений: 29
10.05.2015, 22:56 4
вот возведение в степень и проверка на четность. второе по аналогии попробуй

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
 
#define POW(x) (x*x)
#define EVEN_ODD(x) ( x % 2 == 0 ? "even" : "odd" ) //even-четный, odd-нечетный
 
int main()
{
    int a = POW(5);
    cout << a << endl;
 
    cout << EVEN_ODD(8) << endl;
    return 0;
}
0
ValeryS
Модератор
7407 / 5604 / 711
Регистрация: 14.02.2011
Сообщений: 19,065
Завершенные тесты: 1
10.05.2015, 23:01 5
Цитата Сообщение от Brandi Посмотреть сообщение
вот возведение в степень
в какую????
Цитата Сообщение от Brandi Посмотреть сообщение
#define POW(x) (x*x)
у нас степень только вторая бывает?
а главное зачем все эти выпендрежи в С++
inline функции есть
0
Brandi
3 / 3 / 8
Регистрация: 29.12.2014
Сообщений: 29
10.05.2015, 23:12 6
Цитата Сообщение от ValeryS Посмотреть сообщение
в какую????
Цитата Сообщение от Brandi Посмотреть сообщение
#define POW(x) (x*x)
у нас степень только вторая бывает?
ну вот заодно и потренируется, попробует по аналогии сделать

Цитата Сообщение от ValeryS Посмотреть сообщение
а главное зачем все эти выпендрежи в С++
inline функции есть
задание было сделать с помощью директивы #define
0
maestro4250
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
10.05.2015, 23:17  [ТС] 7
это задачки задали я знаю что есть inline функции
0
ValeryS
Модератор
7407 / 5604 / 711
Регистрация: 14.02.2011
Сообщений: 19,065
Завершенные тесты: 1
10.05.2015, 23:33 8
Цитата Сообщение от Brandi Посмотреть сообщение
ну вот заодно и потренируется, попробует по аналогии сделать
по какой аналогии?
у возведение в степень хотя бы два параметра должны быть
так на вскидку
C
1
#define POW((x),(n))(((n > 0) ? (while(--n)x*=x) : (1))
за грамматику не ручаюсь
Цитата Сообщение от Brandi Посмотреть сообщение
задание было сделать с помощью директивы #define
тогда это в Си нужно а не в плюсы

Добавлено через 3 минуты
вод блог Evg про препроцессор http://www.cyberforum.ru/blogs/18334/blog100.html
0
Evg
Эксперт CАвтор FAQ
19528 / 7266 / 545
Регистрация: 30.03.2009
Сообщений: 20,321
Записей в блоге: 30
11.05.2015, 11:58 9
Цитата Сообщение от ValeryS Посмотреть сообщение
так на вскидку
POW(x+1,5) работать не будет. Через макрос возведение в степень написать невозможно в условиях "стандартного Си/Си++", чтобы внешне выглядело как вызов функции. Хотя, строго говоря, нахождение минимума полноценно тоже не реализуемо (как и любое другое, где аргумент макроса используется более одного раза)

В языке GNU C есть statement-expressions, с ними можно
0
maestro4250
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
11.05.2015, 13:13  [ТС] 10
Если я правильно понял тут не совсем корректное задание ?
0
Evg
Эксперт CАвтор FAQ
19528 / 7266 / 545
Регистрация: 30.03.2009
Сообщений: 20,321
Записей в блоге: 30
11.05.2015, 14:21 11
Цитата Сообщение от maestro4250 Посмотреть сообщение
Если я правильно понял тут не совсем корректное задание ?
Как сказать... номинально то можно написать, чтобы с чисто юридической стороны показать, что решение из поста #8 формально удовлетворяет постановке задачи. Я не знаю, что в голове у твоего преподавателя и в контексте чего он ставил такие постановки задач, но с точки зрения профессионального программирования в объёме "стандартного" языка Си/Си++ решаема только задача b)
1
ValeryS
Модератор
7407 / 5604 / 711
Регистрация: 14.02.2011
Сообщений: 19,065
Завершенные тесты: 1
11.05.2015, 15:34 12
Цитата Сообщение от Evg Посмотреть сообщение
POW(x+1,5) работать не будет.
так там много чего не будет отрицательных, дробных
вообще макрос вместо функции, зло великое есть
0
maestro4250
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
12.05.2015, 13:15  [ТС] 13
Цитата Сообщение от Evg Посмотреть сообщение
Как сказать... номинально то можно написать, чтобы с чисто юридической стороны показать, что решение из поста #8 формально удовлетворяет постановке задачи. Я не знаю, что в голове у твоего преподавателя и в контексте чего он ставил такие постановки задач, но с точки зрения профессионального программирования в объёме "стандартного" языка Си/Си++ решаема только задача b)
спасибо за разьяснение, нам это дали чисто для тренировки , как я понимаю дальше это мало используется так как в С++ есть возможность писать функции и использовать именно их они как то более мне понятны , но за помощь все равно спасибо ) и разьяснение
0
Dinay
0 / 0 / 0
Регистрация: 10.09.2018
Сообщений: 1
07.11.2018, 00:16 14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
using namespace std;
#define POWS(x,y) (x*y)//Возведение числа в степень;
int main()
{
    system("chcp 1251 > nul");
    long long int  n, m, a=0;
    cout <<"Введите  число A  ";
    cin>>n;
    cout <<"Введите степень  ";
    cin>>m;
    a = n;
    for (int i=2; i<=m; i++) //создаем цикл для расчета возведения в требуемую степень
    a = POWS(a,n);
    cout << "Число A = "<<n<<" в степени "<< m<<" = "<< a << endl;
    
    system("pause");
    return 0;
}
0
ValeryS
Модератор
7407 / 5604 / 711
Регистрация: 14.02.2011
Сообщений: 19,065
Завершенные тесты: 1
07.11.2018, 00:36 15
Цитата Сообщение от Dinay Посмотреть сообщение
#define POWS(x,y) (x*y)//Возведение числа в степень;
ты уверен что x*y тоже самое что xy?
0
07.11.2018, 00:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2018, 00:36

Возведение из числа степень
Прошу помочь. Вводим любое число n и надо возвести её степень. (притом, должно...

Возведение в степень вводимого числа
int _tmain() {float t, A; cin&gt;&gt;t&gt;&gt;A; float b=t+A; float a=pow(b,1.0/3.0);...

Возведение числа в степень через for
Нужна программа для возведения числа в степень через for


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

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

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