2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
|
|
1 | |
Проверка введенного числа на чётность11.01.2010, 23:15. Показов 88308. Ответов 23
Метки нет (Все метки)
Написать программу, которая проверяет, является ли введенное пользователем целое число четным.
Хэлп ми плз )
0
|
11.01.2010, 23:15 | |
Ответы с готовыми решениями:
23
Чётные и нечётные числа: определить чётность числа, введённого пользователем с клавиатуры Проверка числа на чётность Возведение числа в степень и проверка числа на четность Проверка числа на чётность/нечётность |
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
11.01.2010, 23:23 | 2 | |||||
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||
11.01.2010, 23:27 | 3 | |||||
1
|
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
|
|
12.01.2010, 03:08 | 4 |
int n = 5;
bool odd = !!(n & 1);
0
|
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
|
|
12.01.2010, 03:23 [ТС] | 5 |
товарисчи примного благодарен всем , но вот еслибы исчо дали комментарий к задаче был бы безгранично рад )
0
|
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
|
|
12.01.2010, 03:26 | 6 |
n & 1 = отсеиваем все биты кроме младшего - получаем 0 или 1
!! = двойное отрицание - трюк, чтобы превратить целое число (int) в bool
2
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
12.01.2010, 09:47 | 7 | |||||
Простите за оффтоп, но откровенно не понимаю смысла в типе bool. Зачем оно вообще нужно?
0
|
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
|
12.01.2010, 09:59 | 8 |
оно занимает 1 байт
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
12.01.2010, 10:05 | 9 |
И? char тоже 1 байт занимает, если так надо память сэкономить. А для самых скупердяев ещё и битовые поля придуманы... Какой смысл в отдельном типе данных, который к тому же сам ни 0 за false не считает, ни 1 за true - приводить приходится...
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||
12.01.2010, 15:51 | 10 | |||||
он считает за false - ноль
а за true - всё остальное Добавлено через 1 минуту оно и без трюка нормально работает.
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
12.01.2010, 18:42 | 11 |
bool нужен для того, чтобы чётче выражать смысл программы. Отделять логические значения от целочисленных.
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
12.01.2010, 19:34 | 12 |
Ну это-то понятно... Но мне С подход всё-таки ближе как-то. Можно примерно так выразить: все целочисленные значения логически делятся на false (ноль) и true (не ноль). Что, кстати, порой даёт интересные возможности. А чтобы в программе чётче смысл просматривался нужно переменным осмысленные имена давать.
int value, flag; по-моему нагляднее, чем int a; bool b;
0
|
59 / 59 / 12
Регистрация: 01.01.2010
Сообщений: 222
|
||||||
12.01.2010, 20:30 | 13 | |||||
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
12.01.2010, 20:42 | 14 |
0
|
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
12.01.2010, 21:44 | 15 |
Интересные возможности остались благодаря преобразованию целочисленных типов в bool и обратно. Что, кстати, не всегда и хорошо, особенно с шаблонами.
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
12.01.2010, 23:04 | 16 |
Может этот тип и появился как-раз, чтобы устаканить булевы переменные с шаблонами и ещё какими-нибудь нововведениями, появившимися в С++? Такое объяснение было бы более логично, чем просто "для наглядности"...
Не по теме: Есть забавная байка про то, почему буквы алфавита на печатных машинках (а за ними по наследству и на клавиатурах) расположены не по порядку, а вот так вот хитро. Производителям печатных машинок так проще было, а пользователей они просто уговорили, что и им так гораздо удобнее будет... ;)
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
12.01.2010, 23:14 | 17 |
Не думаю. Отсутствие или наличие встроенного булевского типа никак не отразились бы на шаблонах и т.п.
А вот отсутствие в языке явного булевского типа как концептуального понятия сказывается на его выразительные качества. Понятно дело что char и bool с точки зрения процессора одно и тоже. Но в языке они выражают сущности различного типа.
0
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
||||||
12.01.2010, 23:29 | 18 | |||||
Забавно слушать о надобности типа данных bool с учетом того что это основное понятие логики (истина\ложь). А куда без логики в программе?) К тому же страшно представить если бы функции по типу valid(data) (и многие другие) вовращали произвольные цифры) нужно было бы разбираться с каждой как там автор навыдумывал -1 ли отрицательное значение али 0 а может какое ещё) не... без bool типа я бы точно не стал программировать)))
а по теме уже все сказали, хотя можно извращаться и так, чисто математически
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
13.01.2010, 00:06 | 19 | |||||
На самом деле можно очень просто. И программа от этого непонятной вовсе не станет, скорее даже наоборот. К примеру: функция strchr(char*s, int c) возвращает указатель на символ c в строке s, если он там есть, или NULL. Использовать можно и для получения подстроки s, начинающейся с символа c, и для проверки того, содержит ли строка этот символ
0
|
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
|
|
13.01.2010, 09:44 | 20 |
easybudda,
Простите за оффтоп, но откровенно не понимаю смысла в типе bool. Зачем оно вообще нужно? оно используется в языке программирования C++
0
|
13.01.2010, 09:44 | |
13.01.2010, 09:44 | |
Помогаю со студенческими работами здесь
20
Проверка числа типа double на чётность/нечётность Проверка введенного числа Проверка допустимости введенного числа Проверка на положительность введенного числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |