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

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

Войти
Регистрация
Восстановить пароль
 
arhorn3
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 10
#1

Логическое выражение - C++

23.11.2014, 00:06. Просмотров 581. Ответов 7
Метки нет (Все метки)

Записать логическое выражение, которое является истинным, когда число N чётное делится на 7, но не делится на 11 и 13 без остатка.
Правильно но ли я понял условие?
Пишу в С++ Builder, формы.

C++
1
2
3
4
5
6
bool p=false;
        int n=StrToInt(Edit1->Text);
 
        if (n%2==0 && n%7==0 && n%13!=0 && n%11!=0) p=true;
        if (p) ShowMessage("Истина");
                else ShowMessage("Ложь");
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 00:06     Логическое выражение
Посмотрите здесь:

Логическое выражение - C++
Здравствуйте. Запишите логическое выражение, которое принимает значение "истина" тогда и только тогда, когда точка с координатами (x, y)...

Написать логическое выражение - C++
как написать формулы на с++ формула во вложении Когда же, наконец, Вы запомните П.5.18.Правил Запрещено размещать задания и решения...

Вычислить логическое выражение - C++
Помогите написать программу!!!

Записать логическое выражение - C++
Записать логическое выражение, которое принимает значение TRUE, если точка с заданными координатами x и y попадает в заштрихованную...

Неправильно вычисляется логическое выражение - C++
В этом отрывке программы у меня программа не замечает условие,почему? То есть она выводит не для 1-3,100,200,300,700,1000,1426,а выводит...

Объясните пожалуйста логическое выражение - C++
#include<iostream> #include<conio.h> #include<cstring> using namespace std; int main(){ int nober=0;// количество слов bool...

Логическое выражение в условном операторе - C++
На поле (k, l) расположен слон. Угрожает ли он полю (m, n)?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fullgean
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 3
23.11.2014, 00:13     Логическое выражение #2
arhorn3, вроде да вот такой же код на паскале
Pascal
1
((n mod 7)=0 and (n mod 11)<>0) and ((n mod 13)<>0)
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3709 / 1984 / 516
Регистрация: 18.10.2014
Сообщений: 3,567
23.11.2014, 00:34     Логическое выражение #3
Цитата Сообщение от arhorn3 Посмотреть сообщение
Правильно но ли я понял условие?
Логическое выражение составлено правильно. Можно было просто прямо присвоить результат выражения в 'p', а не выстраивать if-ы

C++
1
p = n % 2 == 0 && n % 7 == 0 && n % 13 != 0 && n % 11 != 0;
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,738
23.11.2014, 00:42     Логическое выражение #4
Цитата Сообщение от arhorn3 Посмотреть сообщение
if (n%2==0 && n%7==0 && n%13!=0 && n%11!=0) p=true;
тавтология
гораздо проще( и понятней)
C
1
2
3
4
if (n%2==0 && n%7==0 && n%13!=0 && n%11!=0)
      ShowMessage("Истина");
 else
        ShowMessage("Ложь");
Добавлено через 4 минуты
Цитата Сообщение от arhorn3 Посмотреть сообщение
когда число N чётное делится на 7,
это значит делится на 14

можно упростить
C
1
2
3
4
if (n%14==0 && n%13!=0 && n%11!=0)
       ShowMessage("Истина");
else 
       ShowMessage("Ложь");
далее
ложью в Си является 0 истиной не 0
следовательно выражение можно записать так
C
1
2
3
4
if (!(n%14) && n%13 && n%11 )
       ShowMessage("Истина");
else 
       ShowMessage("Ложь");
arhorn3
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 10
23.11.2014, 03:00  [ТС]     Логическое выражение #5
А как проверить, что было введено именно целое число? Вроде бы остаток от деления только на целые работает.
Nosey
1346 / 397 / 107
Регистрация: 22.10.2014
Сообщений: 861
Завершенные тесты: 2
23.11.2014, 03:11     Логическое выражение #6
arhorn3,
C++
1
2
3
int i;
    std::cin >> i;
    std::cout << i;
Введите НЕ целое число и посмотрите на вывод, дробная часть отбросится.

Ну и ещё для бонусного понимания:
C++
1
2
    double ff = 123.455f;
    std::cout << std::boolalpha << (double(int(ff)) == ff) << std::endl;
arhorn3
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 10
23.11.2014, 12:14  [ТС]     Логическое выражение #7
Введите НЕ целое число и посмотрите на вывод, дробная часть отбросится.
Мне наоборот нужно проверить что введено именно целое, и если нет, то вывести ошибку.
Иначе могут ввести например 14,06, дробная часть отбросится и на выходе мы получим Истину
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2014, 14:51     Логическое выражение
Еще ссылки по теме:

Логическое выражение в условном операторе - C++
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое – номер вертикали, второе – номер...

Логическое выражение в виде дерева - C++
Подскажите, , как представить логическое выражение b=--n&amp;&amp;b==a в виде дерева? ( просто схематические ) Добавлено через 5 часов 54...

Составить логическое выражение для графика - C++
Помогите Составить логическое выражение для графика C++ Задача №11

Нужно написать логическое выражение в printf - C++
Помогите написать логическое выражение в printf, так чтобы она на экран выводила в строку, допустим, только 10 элементов массива, я вот...

Логическое выражение преобразовать в бинарное дерево - C++
Преобразовать логическое выражение в бинарное дерево и вывести его.Выражение может содержать логическое и,или,отрицание(&amp;,|,! ...


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

Или воспользуйтесь поиском по форуму:
Nosey
1346 / 397 / 107
Регистрация: 22.10.2014
Сообщений: 861
Завершенные тесты: 2
23.11.2014, 14:51     Логическое выражение #8
arhorn3,
C++
1
(double(int(ff)) == ff)
Yandex
Объявления
23.11.2014, 14:51     Логическое выражение
Ответ Создать тему
Опции темы

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