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

Определить, четное число или нет - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 121, средняя оценка - 4.94
bearwoolfs
 Аватар для bearwoolfs
15 / 15 / 2
Регистрация: 10.01.2011
Сообщений: 275
30.09.2011, 18:55     Определить, четное число или нет #1
Добрый вечер нужно написать прорамму для определения четных и не четных чисел.
Я так понимаю что четное при деление должно быть кратно 2 , но как написать такой цикл ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
30.09.2011, 18:56     Определить, четное число или нет #2
Цитата Сообщение от bearwoolfs Посмотреть сообщение
такой цикл
Какой еще цикл?
C++
1
a % 2 == 0 ? четное : нечетное;
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
30.09.2011, 18:57     Определить, четное число или нет #3
C
1
2
if (n&1) cout<<"нечетное";
else cout<<"четное";
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
30.09.2011, 18:58     Определить, четное число или нет #4
Цитата Сообщение от bearwoolfs Посмотреть сообщение
как написать такой цикл ?
Какой цикл?

Так чем плох?:
C
1
if (c&1) puts("нечетное"); else puts("четное");
Добавлено через 29 секунд
...
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
30.09.2011, 19:01     Определить, четное число или нет #5
Решение с циклом:
C++
1
2
3
4
5
6
7
8
9
bool even;
do
{
   even = (number & 1) ? false : true;
} while(false);
if(even)
   std::cout << "even" << std::endl;
else
   std::cout << "odd" << std::endl;
bearwoolfs
 Аватар для bearwoolfs
15 / 15 / 2
Регистрация: 10.01.2011
Сообщений: 275
30.09.2011, 19:21  [ТС]     Определить, четное число или нет #6
Paporotnik,

1 if (n&1) cout<<"нечетное"; // КАК Это (n&1) правильно читаеться?
2 else cout<<"четное";
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
30.09.2011, 19:27     Определить, четное число или нет #7
bearwoolfs, оператор & - это побитовое "И". У нечетных чисел младший бит - всегда единица. Поэтому условие (n & 1) будет истиной тогда и только тогда, когда n - нечетное число
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
30.09.2011, 19:44     Определить, четное число или нет #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
 
#define MAX_NUM   100
 
int main(){
    int x[MAX_NUM], i;
 
    srand(time(NULL));
    for (i = 0; i < MAX_NUM; ++i)
        x[i] = rand() % 10 + 1;
 
    for (i = 0; i < MAX_NUM; ++i)
        if( ~( ~((x[i] & 1) - 1)) + 1 )
            printf("%d нечетное\n", x[i]);
        else
            printf("%d четное\n", x[i]);
    return 0;
}
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
30.09.2011, 19:59     Определить, четное число или нет #9
Цитата Сообщение от alkagolik Посмотреть сообщение
C
1
if( ~( ~((x[i] & 1) - 1)) + 1 )
Это что еще за цирк?
Евгений М.
30.09.2011, 20:34
  #10

Не по теме:

Щас опять будет извращение hello world-а.

Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.09.2011, 20:58     Определить, четное число или нет #11
Цитата Сообщение от Евгений М. Посмотреть сообщение

Не по теме:

Щас опять будет извращение hello world-а.

Да, тогда так можно:

if ((a >> 1) << 1 == a) // если верно, то четное
Даже полезно чуточку над этим подумать, не более
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
30.09.2011, 23:25     Определить, четное число или нет #12
Цитата Сообщение от fasked Посмотреть сообщение
Это что еще за цирк?
это прямой в дополнительный и обратно в прямой
fasked
30.09.2011, 23:36
  #13

Не по теме:

Цитата Сообщение от alkagolik Посмотреть сообщение
это прямой в дополнительный и обратно в прямой
Голосую за добавление тегов "сарказм" и "ирония".

Few
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 2
01.11.2012, 16:15     Определить, четное число или нет #14
If a mod 2=0 then Writeln ('четное')
else Writeln ('нечетное);
END.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
01.11.2012, 16:20     Определить, четное число или нет #15
Few, круто, конечно. А причем здесь C++?
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
01.11.2012, 16:39     Определить, четное число или нет #16
fasked, 30.09.2011, 21:36
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
01.11.2012, 16:42     Определить, четное число или нет #17
Few, если Вы хотели похвастаться знанием паскаля, то разочарую Вас, у него есть функция odd
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
01.11.2012, 16:48     Определить, четное число или нет #18
вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    int a;
 
    cout << "Введите число: ";
    cin >> a;
 
    if (a/2*2==a)
        cout << "Четное";
    else
        cout << "Нечетное";
 
    system("pause");
    return 0;
}
posol_7
 Аватар для posol_7
16 / 16 / 2
Регистрация: 19.11.2014
Сообщений: 156
15.01.2015, 23:29     Определить, четное число или нет #19
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
C++
1
2
3
4
if (a/2*2==a)
cout << "Четное";
else
cout << "Нечетное";
чего Вы хотели этим добиться?

если ввести а=13, то
13/2*2=13
если - а=6, то
6/2*2=6

во всех случаях первое условие будет истиной.
смысл делать такую проверку?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2015, 15:05     Определить, четное число или нет
Еще ссылки по теме:

Разбить число на множители и определить простые они или нет C++
C++ Вывести на экран, четное или нечетное число
Определить, простое число или нет C++

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

Или воспользуйтесь поиском по форуму:
mat_for_c
 Аватар для mat_for_c
115 / 110 / 19
Регистрация: 26.04.2013
Сообщений: 584
Завершенные тесты: 2
16.01.2015, 15:05     Определить, четное число или нет #20
Цитата Сообщение от posol_7 Посмотреть сообщение
если ввести а=13, то
13/2*2=13
если - а=6, то
6/2*2=6
так у тебя 13/2 = 6 (целочисленное деление). потом 6 * 2 = 12 => 13 != 12 , т.е. число не четное
Yandex
Объявления
16.01.2015, 15:05     Определить, четное число или нет
Ответ Создать тему
Опции темы

Текущее время: 21:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru