Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.95/20: Рейтинг темы: голосов - 20, средняя оценка - 4.95
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
1

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

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

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

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

2)Назовём шестизначный автобусный билет удачным, если сумма его цифр делится на 7. Могут ли два билета подряд быть удачными?
1

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2010, 16:51
Ответы с готовыми решениями:

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

Как реализовать директиву #define для создания шаблона отпределения #define ?
Здравствуйте уважаемые. При написании программы появилась необходимость задать шаблон создания...

Скрытие столбцов. Ошибка App-define od obj-define error
Привет) помогите, пожалуйста, ответить на следующие вопросы: 1) выскакивает ошибка: App-define...

Н1 и прочее
Просмотрел сайты конкурентов, которые выгнали меня из топ 5 по ВЧ и обнаружил такие вещи: Топ1 -...

33
1258 / 796 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
11.02.2010, 17:34 2
Загляни сюда может станет легче...
Препроцессорные директивы в C/C++ (#include, #define и прочее)
0
This party getting crazy!
78 / 64 / 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);
}
Но чёт ругается. Может исправите? а по второй, вообще ни одной мыслятины...
0
Evg
Эксперт CАвтор FAQ
21192 / 8208 / 633
Регистрация: 30.03.2009
Сообщений: 22,519
Записей в блоге: 30
11.02.2010, 17:52 4
Что ты хочешь сделать следующей конструкцией?
C
1
#define max(a, z)+max(a, z)
0
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
11.02.2010, 18:09  [ТС] 5
вычислить
S=max(x+y+z, xyz)+3max(xy2, z2)
0
Evg
Эксперт CАвтор FAQ
21192 / 8208 / 633
Регистрация: 30.03.2009
Сообщений: 22,519
Записей в блоге: 30
11.02.2010, 18:32 6
Т.е. "помогите" по сути дела означает "напишите мне решение"?
0
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
11.02.2010, 18:37  [ТС] 7
Evg, хм. Нет, подсказать хотя бы, в каком направлении идти. Я написал свой код, но он не работает.
1
158 / 156 / 47
Регистрация: 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 числа подрят?
1
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
11.02.2010, 21:21  [ТС] 9
подряд, это и есть подряд, да, два подряд.
0
158 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 637
11.02.2010, 22:08 10
Значит аналогично добавить второе число.
1
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
12.02.2010, 17:50  [ТС] 11
а как быть с первой?? исправьте мой код пожалуйста. Или подскажите, что не так.
0
Evg
Эксперт CАвтор FAQ
21192 / 8208 / 633
Регистрация: 30.03.2009
Сообщений: 22,519
Записей в блоге: 30
12.02.2010, 18:06 12
C
1
#define max(a, z) ((a) > (z) ? (a) : (z))
Только в условии задачи "3max(xy2, z2)." двойки - это видимо возведение в квадрат, а не умножение на два
1
This party getting crazy!
78 / 64 / 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. В чём моя ошибка?
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
12.02.2010, 18:26 14
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
но значение S всё время равняется 0. В чём моя ошибка?
посмотри на исходный код после обработки препроцессором.
в msvc делается установкой флага компиляции /P
0
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
12.02.2010, 18:31  [ТС] 15
zim22, а можно немного подробнее? нам это в инсте не читали. =(
0
Автор FAQ
3684 / 961 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
12.02.2010, 18:36 16
Смысл в том что
C++
1
max(x+y+z, x*y*z)
это на самом деле
C++
1
((x+y+z) > (x*y*z) ? (x+y+z) : (x*y*z))
Именно этот код будет послан на компиляцию
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
12.02.2010, 18:49 17
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
нам это в инсте не читали. =(
подожди, пока почитают. куда спешить.
0
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
12.02.2010, 18:55  [ТС] 18
zim22, да, в этом году читать уже не будут=)) а работать надо.
0
1258 / 796 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
12.02.2010, 20:26 19
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#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*(y*y), z*z); //можно было pow и не использовать
 
    printf("Element S=%d", S);  //спецификатор %d какой там %f
}
За что я не люблю IO в C, так это за спецификацию формата.

Добавлено через 58 минут
2)Назовём шестизначный автобусный билет удачным, если сумма его цифр делится на 7. Могут ли два билета подряд быть удачными?
Что за экзотика где это откапывают, у нас в институте задаче человеческие и более интересные.

Добавлено через 3 минуты
Bloodykeeper:
Алгоритм разбиение числа на цифры уже был на странице 1.
Что тут ещё делать надо.
Проверь два билета на удачность да и всё, я что то логики программы не вижу, что надо ещё делать.
1
Автор FAQ
3684 / 961 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
12.02.2010, 20:28 20
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Что за экзотика где это откапывают, у нас в институте задаче человеческие и более интересные.
У нас тоже такое было, как по мне довольно неплохое задание. Фишку про "счастливый" билет знал и до этого задания. Типа приметы чтоль Только у меня счастливый билет это когда сумма правых цифр и левых цифр равняется например 163451 (1+6+3 == 4+5+1). Считается что счастливый билет надо съесть чтобы он принес счастье, ну это для хардкорщиков типа
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2010, 20:28

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Массивы и прочее
До сессии осталось совсем немного, прошу помощи по решению 3 задач, очень надеюсь что поможите......

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

Массивы и прочее.
1.Написать программу на Паскале которая должна находить сумму элементов в двухмерном массиве...

Шифрование и прочее
Здравствуйте, у меня вопрос чисто теоретический, возможно ли расшифровать файл зашифрованный...


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

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

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