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

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

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

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

27.06.2011, 13:10. Просмотров 2398. Ответов 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;
}
А как это сделать без условия!??

Спасибо!))
Лучшие ответы (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++
С клавиатуры вводится текстовая строка, нужно посчитать количество цифр в ней, вывести на экран слова начинающиеся с согласных букв, и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
voral
436 / 416 / 59
Регистрация: 16.03.2008
Сообщений: 2,046
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 минуты
а проход по всем организвать рекурсией ....
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
27.06.2011, 13:22 #3
Следующее чётное для целочисленного x:
C
1
x = x/2*2 + 2;
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
27.06.2011, 13:22  [ТС] #4
Цитата Сообщение от Infinity3000 Посмотреть сообщение
нельзя использовать условную инструкцию if и циклы
а switch это цикл!
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
27.06.2011, 13:26 #5
Цитата Сообщение от Infinity3000 Посмотреть сообщение
а switch это цикл!
Не знал, что switch - это цикл..
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
27.06.2011, 13:27 #6
nameless, да успокойся, не цикл это Но всё-равно он здесь не нужен.
voral
436 / 416 / 59
Регистрация: 16.03.2008
Сообщений: 2,046
27.06.2011, 13:31 #7
А, понял. Почему то решил, что нужно найти в последовательности чисел...
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
27.06.2011, 13:32  [ТС] #8
Спасибо!)
OcbMuHor
Заблокирован
27.06.2011, 13:32 #9
Цитата Сообщение от grizlik78 Посмотреть сообщение
Помогите пожалуйста найти следующие четное число
Числовая прямая или просто случайное множество разных чисел? Надо найти только одно (следующее за чем?) четное число?
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
27.06.2011, 13:35 #10
мой вариант
C++
1
2
n += 2;
n -= n % 2;
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;
}
всем спасибо!)))
voral
436 / 416 / 59
Регистрация: 16.03.2008
Сообщений: 2,046
27.06.2011, 13:44 #12
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Еще вариант
C
1
cout << (x | 1) +1;
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
27.06.2011, 13:47 #13
Эх, гулять, так гулять!
C
1
2
x &= -2;
x += 2;
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 подсчитать следующее выражение:


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.06.2011, 13:47
Ответ Создать тему
Опции темы

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