11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
1

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

10.05.2015, 20:07. Показов 14170. Ответов 15
Метки нет (Все метки)

Добрый вечер что то вообще не понял эту тему помогите пожалуйста
С помощью директивы #define написать следующие макросы:
a) возведение числа в степень;
b) проверка числа на четность;
с) нахождение меньшего из двух чисел.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2015, 20:07
Ответы с готовыми решениями:

Возведение числа в степень за минимальное количество умножений, не используя возведение в степень (в чем ошибка?)
должно число подводиться в степень за минимальное кол умножения не используя возведение в степень....

Возведение числа в степень
Дано вещественное число А и целое число N(>0) Найти A в степени N,используя цикл For A(в...

Возведение числа в степень
Здравствуйте. Дано число А и целое число N(N>0) необходимо написать PHP-скрипт, в котором...

Возведение числа во 2 степень
Написать две функции возведения числа в квадрат. Использовать в первой функции передачу параметра...

15
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
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
10.05.2015, 21:57  [ТС] 3
может без функции POW просто х*х ?
0
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
Модератор
Эксперт по электронике
8740 / 6530 / 887
Регистрация: 14.02.2011
Сообщений: 22,859
10.05.2015, 23:01 5
Цитата Сообщение от Brandi Посмотреть сообщение
вот возведение в степень
в какую????
Цитата Сообщение от Brandi Посмотреть сообщение
#define POW(x) (x*x)
у нас степень только вторая бывает?
а главное зачем все эти выпендрежи в С++
inline функции есть
0
3 / 3 / 8
Регистрация: 29.12.2014
Сообщений: 29
10.05.2015, 23:12 6
Цитата Сообщение от ValeryS Посмотреть сообщение
в какую????
Цитата Сообщение от Brandi Посмотреть сообщение
#define POW(x) (x*x)
у нас степень только вторая бывает?
ну вот заодно и потренируется, попробует по аналогии сделать

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

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

В языке GNU C есть statement-expressions, с ними можно
0
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
11.05.2015, 13:13  [ТС] 10
Если я правильно понял тут не совсем корректное задание ?
0
Evg
Эксперт CАвтор FAQ
21248 / 8263 / 637
Регистрация: 30.03.2009
Сообщений: 22,608
Записей в блоге: 30
11.05.2015, 14:21 11
Цитата Сообщение от maestro4250 Посмотреть сообщение
Если я правильно понял тут не совсем корректное задание ?
Как сказать... номинально то можно написать, чтобы с чисто юридической стороны показать, что решение из поста #8 формально удовлетворяет постановке задачи. Я не знаю, что в голове у твоего преподавателя и в контексте чего он ставил такие постановки задач, но с точки зрения профессионального программирования в объёме "стандартного" языка Си/Си++ решаема только задача b)
1
Модератор
Эксперт по электронике
8740 / 6530 / 887
Регистрация: 14.02.2011
Сообщений: 22,859
11.05.2015, 15:34 12
Цитата Сообщение от Evg Посмотреть сообщение
POW(x+1,5) работать не будет.
так там много чего не будет отрицательных, дробных
вообще макрос вместо функции, зло великое есть
0
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
12.05.2015, 13:15  [ТС] 13
Цитата Сообщение от Evg Посмотреть сообщение
Как сказать... номинально то можно написать, чтобы с чисто юридической стороны показать, что решение из поста #8 формально удовлетворяет постановке задачи. Я не знаю, что в голове у твоего преподавателя и в контексте чего он ставил такие постановки задач, но с точки зрения профессионального программирования в объёме "стандартного" языка Си/Си++ решаема только задача b)
спасибо за разьяснение, нам это дали чисто для тренировки , как я понимаю дальше это мало используется так как в С++ есть возможность писать функции и использовать именно их они как то более мне понятны , но за помощь все равно спасибо ) и разьяснение
0
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
Модератор
Эксперт по электронике
8740 / 6530 / 887
Регистрация: 14.02.2011
Сообщений: 22,859
07.11.2018, 00:36 15
Цитата Сообщение от Dinay Посмотреть сообщение
#define POWS(x,y) (x*y)//Возведение числа в степень;
ты уверен что x*y тоже самое что xy?
0
0 / 0 / 0
Регистрация: 12.02.2021
Сообщений: 26
16.05.2021, 15:10 16
C++
1
#define mypow(x, y) exp(y*log(x))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2021, 15:10
Помогаю со студенческими работами здесь

Возведение числа в степень
Доброго времени суток уважаемые эксперты. Помогите пожалуйста разобраться: Имеется два...

Возведение числа в степень
за лето все забыл(( как возвести х в степень 3, 4 ??

Возведение числа в степень
нужно возвести число в заданный массив без единицы Y(i-тый) в степень (М(i-тое)) -1

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru