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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
#1

Следующее четное - C++

27.06.2011, 13:10. Просмотров 2625. Ответов 12
Метки нет (Все метки)

Здравствуйте!


Помогите пожалуйста найти следующие четное число, нельзя использовать условную инструкцию if и циклы!!!

с if все легко:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "stdafx.h"
#include "fstream"
 
using namespace std;
 
int main()
{
    int x;
    ifstream in;
    ofstream out;
    in.open("input.txt");
    out.open("output.txt");
    in >> x;
 
        if (x % 2)
        {
        x = x + 1;
        }
        else 
        {
        x = x + 2;
        }
    
    out << x;
    in.close();
    out.close();
    return 0;
}
А как это сделать без условия!??

Спасибо!))
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2011, 13:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Следующее четное (C++):

Выведите четное число, следующее после заданного - C++
Следующее четное На вход дается натуральное число N. Выведите следующее за ним четное число Формат входных данных На вход...

Вычислить следующее выражение - C++

Прочитать следующее описание и определение - C++
Всем привет! С наступающим праздником , хорошо всем настроения ! __________________________ Праздник-праздником , а КР - делай !=( До...

Что означает следующее выражение? - C++
char** SomeFunction(int num, int num1) { // some code }Мне не понятно зачем здесь указатели? может кто подскажет. Если, что...

Объясните как реализовать следующее условие? - C++
Вычислить и напечатать таблицу трёх функций y, z, w. Аргумент x меняется от x0 до xk с шагом h. Функция y задана сходящимся рядом, сумму...

Как с текстовой строкой сделать следующее ? - C++
С клавиатуры вводится текстовая строка, нужно посчитать количество цифр в ней, вывести на экран слова начинающиеся с согласных букв, и...

12
voral
463 / 444 / 73
Регистрация: 16.03.2008
Сообщений: 2,150
27.06.2011, 13:19 #2
что то типа
C
1
2
3
4
5
6
7
8
9
int k = x % 2;
switch (k)
{
case 0:
  /// четное
     break;
defaut:
    ;
}
Добавлено через 2 минуты
а проход по всем организвать рекурсией ....
1
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
27.06.2011, 13:22 #3
Следующее чётное для целочисленного x:
C
1
x = x/2*2 + 2;
1
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
27.06.2011, 13:22  [ТС] #4
Цитата Сообщение от Infinity3000 Посмотреть сообщение
нельзя использовать условную инструкцию if и циклы
а switch это цикл!
0
nameless
Эксперт С++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
27.06.2011, 13:26 #5
Цитата Сообщение от Infinity3000 Посмотреть сообщение
а switch это цикл!
Не знал, что switch - это цикл..
1
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
27.06.2011, 13:27 #6
nameless, да успокойся, не цикл это Но всё-равно он здесь не нужен.
1
voral
463 / 444 / 73
Регистрация: 16.03.2008
Сообщений: 2,150
27.06.2011, 13:31 #7
А, понял. Почему то решил, что нужно найти в последовательности чисел...
1
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
27.06.2011, 13:32  [ТС] #8
Спасибо!)
0
OcbMuHor
Заблокирован
27.06.2011, 13:32 #9
Цитата Сообщение от grizlik78 Посмотреть сообщение
Помогите пожалуйста найти следующие четное число
Числовая прямая или просто случайное множество разных чисел? Надо найти только одно (следующее за чем?) четное число?
1
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
27.06.2011, 13:35 #10
мой вариант
C++
1
2
n += 2;
n -= n % 2;
1
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
27.06.2011, 13:43  [ТС] #11
Цитата Сообщение от OcbMuHor Посмотреть сообщение
Числовая прямая или просто случайное множество разных чисел? Надо найти только одно (следующее за чем?) четное число?
В *.txt файле записано число, например 17, нужно было найти следующее за ним четное число, соответственно 18!

если в *.txt файле было 16, то тоже должно было вывести 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 "fstream"
 
using namespace std;
 
int main()
{
    int x;
    ifstream in;
    ofstream out;
    in.open("input.txt");
    out.open("output.txt");
    in >> x;
 
        x = x/2*2 + 2;
    
    out << x;
    in.close();
    out.close();
    return 0;
}
всем спасибо!)))
0
voral
463 / 444 / 73
Регистрация: 16.03.2008
Сообщений: 2,150
27.06.2011, 13:44 #12
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Еще вариант
C
1
cout << (x | 1) +1;
4
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
27.06.2011, 13:47 #13
Эх, гулять, так гулять!
C
1
2
x &= -2;
x += 2;
1
27.06.2011, 13:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2011, 13:47
Привет! Вот еще темы с ответами:

Указатель: что означает следующее объявление? - C++
Подскажите пожалуйста, что означает следующее объявление? char (*ptr); // Что это? char *ptr2 // Массив указателей состоящий из 10...

Тип int. Как вывести следующее 050? - C++
Вопрос следующего характера, имея переменную типа int, как вывести к примеру код мобильного оператора в Украине, скажем МТС (050) Это...

По заданному набору чисел вывести следующее: A1, A22, , AN–1N–1, ANN - C++
№4 Дано целое число N и набор из N вещественных чисел: A1, A2, ..., AN. Вывести следующие числа: A1, A22, ..., AN–1N–1, ANN. Массив не...

Для заданного натурального k и действительного x подсчитать следующее выражение - C++
Для заданного натурального k и действительного x подсчитать следующее выражение:


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

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

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