Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.61
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
#1

Дирректива define и прочее - C++

11.02.2010, 16:51. Просмотров 2958. Ответов 33
Метки нет (Все метки)

Помогите пожалуйста решить задание, никогда раньше с такими не сталкивался! =(

1) Даны целые числа x, у и вещественное число z. Используя директиву #define для нахождения наибольшего из чисел, вычислить
S=max(x+y+z, xyz)+3max(xy2, z2).

2)Назовём шестизначный автобусный билет удачным, если сумма его цифр делится на 7. Могут ли два билета подряд быть удачными?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2010, 16:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дирректива define и прочее (C++):

Дирректива процессора - C++
Добрый Вечер! У меня в экзаменационном билете по Си есть такой вопрос: директивы процессора. заголовочный файл. Не могли бы вы мне...

Скремблирование и прочее - C++
Добрый день, помогите разобраться. Нужно написать программу для скремблирование файлов. Но перед этим вопрос: как из исходного файла...

С++ VLA и прочее... - C++
Перенесено из http://www.cyberforum.ru/cpp-beginners/thread713916.html Dev-C++ меня удивляет. Вот такой код компилирует без ошибок и...

#define - C++
#define зачем нужна это заголовочный файл какие у него функции и как им ползоватса?

c++11 и $define - C++
Есть код который прекрасно компилируется без -std=c++11, но как только я включаю эту опцию то константы препроцессора не заменяются и...

#define c :: - C++
Подскажите как реализовать такую замену: #define sa2::sys::getClientKernel()->getXDBTManager() cls_SimpleXDBTManager::Instance() ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
11.02.2010, 17:34 #2
Загляни сюда может станет легче...
Препроцессорные директивы в C/C++ (#include, #define и прочее)
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
11.02.2010, 17:38  [ТС] #3
да читал я это, не очень получается...( я делал вот так:
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <math.h>
#define max(a, z)+max(a, z)
void main() {
    int x, y, S;
    float z;
    puts("Введите значения x, у, z: ");
    scanf("%d%d%f", &x, &y, &z);
    S=max(x+y+z, x*y*z)+3*max(x*y*2, z*2);
    printf("Значение S=%. 3f", S);
}
Но чёт ругается. Может исправите? а по второй, вообще ни одной мыслятины...
Evg
Эксперт CАвтор FAQ
17626 / 5850 / 376
Регистрация: 30.03.2009
Сообщений: 16,133
Записей в блоге: 26
11.02.2010, 17:52 #4
Что ты хочешь сделать следующей конструкцией?
C
1
#define max(a, z)+max(a, z)
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
11.02.2010, 18:09  [ТС] #5
вычислить
S=max(x+y+z, xyz)+3max(xy2, z2)
Evg
Эксперт CАвтор FAQ
17626 / 5850 / 376
Регистрация: 30.03.2009
Сообщений: 16,133
Записей в блоге: 26
11.02.2010, 18:32 #6
Т.е. "помогите" по сути дела означает "напишите мне решение"?
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
11.02.2010, 18:37  [ТС] #7
Evg, хм. Нет, подсказать хотя бы, в каком направлении идти. Я написал свой код, но он не работает.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
11.02.2010, 20:43 #8
2)Назовём шестизначный автобусный билет удачным, если сумма его цифр делится на 7. Могут ли два билета подряд быть удачными?
C
1
2
3
4
5
6
7
8
9
int a=223;
    int sum=0;
    while(a)
    {
        sum+=a%10;
        a=a/10;
 
    }
    if((sum%7==0))cout<<"bilet horoshi :)";
P.s что значить 2 подрят?добавить и сравнить 2 числа подрят?
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
11.02.2010, 21:21  [ТС] #9
подряд, это и есть подряд, да, два подряд.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
11.02.2010, 22:08 #10
Значит аналогично добавить второе число.
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
12.02.2010, 17:50  [ТС] #11
а как быть с первой?? исправьте мой код пожалуйста. Или подскажите, что не так.
Evg
Эксперт CАвтор FAQ
17626 / 5850 / 376
Регистрация: 30.03.2009
Сообщений: 16,133
Записей в блоге: 26
12.02.2010, 18:06 #12
C
1
#define max(a, z) ((a) > (z) ? (a) : (z))
Только в условии задачи "3max(xy2, z2)." двойки - это видимо возведение в квадрат, а не умножение на два
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
12.02.2010, 18:22  [ТС] #13
да, квадраты, оплошность допустил. Спасибо большое!
Я изменил код, сменил строчку. Получилось так
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <math.h>
#define max(a, z) ((a) > (z) ? (a) : (z))
void main() {
    int x, y, S;
    float z;
    puts("Please enter elements x, у, z: ");
    scanf("%d%d%f", &x, &y, &z);
    S=max(x+y+z, x*y*z)+3*max(x*pow(y,2), pow(z,2));
    printf("Element S=%f", S);
}
но значение S всё время равняется 0. В чём моя ошибка?
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
12.02.2010, 18:26 #14
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
но значение S всё время равняется 0. В чём моя ошибка?
посмотри на исходный код после обработки препроцессором.
в msvc делается установкой флага компиляции /P
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
12.02.2010, 18:31  [ТС] #15
zim22, а можно немного подробнее? нам это в инсте не читали. =(
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2010, 18:31
Привет! Вот еще темы с ответами:

#define - C++
Здравствуйте, дорогие программисты! сразу хочу сказать, что в С++ я совсем недавно, поэтому толком ничего не знаю Во-первых,...

define - C++
И еще такой вопрос для чего служит #define ??

define не - C++
Здравствуйте. &quot;Дефайню&quot; &quot;%f&quot; для вывода: #define fss &quot;%f&quot;; . И потом делаю вывод вот такой вот: for(i=0;i&lt;n;i++) fscanf(in,fss,&amp;a-&gt;di);. И...

define - C++
Всем здрасьте , что означает эта строчка? #define MAX(a,b) a&gt;b? a:b


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.02.2010, 18:31
Ответ Создать тему
Опции темы

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