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

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

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

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

Возведение числа в степень 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-ю степень. Входные данные поступают...

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

12
_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
Модератор
7134 / 5401 / 669
Регистрация: 14.02.2011
Сообщений: 18,227
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
Модератор
7134 / 5401 / 669
Регистрация: 14.02.2011
Сообщений: 18,227
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
18940 / 6901 / 513
Регистрация: 30.03.2009
Сообщений: 19,446
Записей в блоге: 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
18940 / 6901 / 513
Регистрация: 30.03.2009
Сообщений: 19,446
Записей в блоге: 30
11.05.2015, 14:21 #11
Цитата Сообщение от maestro4250 Посмотреть сообщение
Если я правильно понял тут не совсем корректное задание ?
Как сказать... номинально то можно написать, чтобы с чисто юридической стороны показать, что решение из поста #8 формально удовлетворяет постановке задачи. Я не знаю, что в голове у твоего преподавателя и в контексте чего он ставил такие постановки задач, но с точки зрения профессионального программирования в объёме "стандартного" языка Си/Си++ решаема только задача b)
1
ValeryS
Модератор
7134 / 5401 / 669
Регистрация: 14.02.2011
Сообщений: 18,227
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
12.05.2015, 13:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2015, 13:15
Привет! Вот еще темы с решениями:

Возведение в степень вводимого числа
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

Возведение в степень, отрицательные числа
В библиотеке &lt;cmath&gt; есть такая функция pow(A,B) - получаешь результат...

Рекурсия, возведение числа в степень
подскажите плис как возвести число в степень через перемножение чисел. с...


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

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

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