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

Как поставить условие - C++

Восстановить пароль Регистрация
 
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
20.09.2011, 13:03     Как поставить условие #1
Есть переменные: x1, x2, y1, y2. И нужно сделать следующее:
Прибавить к x1 единицу (++x1) в том случае если выполняется одно из условий:
1) x1 не равен x2 и y1 не равен y2
2) x1 равен x2 или y1 равен y2

Я как то запутался.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2011, 13:03     Как поставить условие
Посмотрите здесь:

как поставить EOF? C++
Как поставить значок на прграмму C++
C++ Как поставить степень в C++
C++ как в if поставить for?
как поставить защиту от дураков? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
20.09.2011, 13:13     Как поставить условие #2
C
1
2
if((x1 != x2 && y1 != y2) || (x1 == x2 || y1 == y2))
   ++x1;
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
20.09.2011, 13:16     Как поставить условие #3
Цитата Сообщение от adamo86 Посмотреть сообщение
Прибавить к x1 единицу (++x1) в том случае если выполняется одно из условий:
1) x1 не равен x2 и y1 не равен y2
2) x1 равен x2 или y1 равен y2
Рассуждайте:
"Если (1) ИЛИ (2)" => "Если (x1 не равен x2 И y1 не равен y2) ИЛИ (x1 равен x2 ИЛИ y1 равен y2)".
Далее раскрываем ненужные скобки: "Если (x1 не равен x2 И y1 не равен y2) ИЛИ x1 равен x2 ИЛИ y1 равен y2".

В коде так:

C
1
2
 if( (x1 != x2 && y1 != y2) || x1 == x2 || y1 == y2 )
    x1++;

Не по теме:

Да, пока расписывал, уже ответили...

Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
20.09.2011, 13:19     Как поставить условие #4
Только это тавтология, так что пиши:
C
1
2
if(1)
  ++x1;
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
20.09.2011, 13:25  [ТС]     Как поставить условие #5
Я скажу по другому:
1) Первый шаг: сначала x1 должен равняться x2 или y1 должен равняться y2
2) Второй шаг: но при это одновременно не должно x1==x1, а y1==y2

Как сделать это?
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
20.09.2011, 13:27     Как поставить условие #6
C
1
if( (x1 == x2 && y1 != y2) || (y1 == y1 && x1 != x2) ) x++;
adamo86, вы так хотите, что ли?

Добавлено через 34 секунды
Инкрементировать в случае, если только одна пара чисел равна?
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
20.09.2011, 13:29  [ТС]     Как поставить условие #7
Цитата Сообщение от talis Посмотреть сообщение
1
if( (x1 == x2 && y1 != y2) || (y1 == y1 && x1 != x2) ) x++;
Вот так надо было. Спасибо всем за помощь!
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
20.09.2011, 13:35     Как поставить условие #8
Цитата Сообщение от adamo86 Посмотреть сообщение
Я скажу по другому:
1) Первый шаг: сначала x1 должен равняться x2 или y1 должен равняться y2
2) Второй шаг: но при это одновременно не должно x1==x1, а y1==y2
Это вообще другое условие:
C
1
if((x1 == x2 || y1 == y2) && !(x1 == x2 && y1 == y2))
Путем долгих размышлений я пришел к выводу, что условие верное, когда выполняется только одно из равенств, т.е. тут логическое исключающее ИЛИ (которого, к сожалению, в С нет):
C
1
if((x1 == x2) != (y1 == y2))
Цитата Сообщение от adamo86 Посмотреть сообщение
Второй шаг: но при это одновременно не должно x1==x1
Цитата Сообщение от adamo86 Посмотреть сообщение
x1==x1
Цитата Сообщение от talis Посмотреть сообщение
y1 == y1
подозрительно...
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
20.09.2011, 13:37  [ТС]     Как поставить условие #9
Цитата Сообщение от Nameless One Посмотреть сообщение
x1==x1
Тут отпечатка должно быть: x1==x2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2011, 13:38     Как поставить условие
Еще ссылки по теме:

Как называется условие if (!x) {} и как оно работает? C++
C++ Поставить рандомную матрицу, перепробовал уже много способов. Как поставить?
Подскажите, какое условие нужно поставить C++

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

Или воспользуйтесь поиском по форуму:
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
20.09.2011, 13:38     Как поставить условие #10
Цитата Сообщение от Nameless One Посмотреть сообщение
подозрительно...
очепятки, очепятки.. Я предпочитаю более информативные имена переменных.
Yandex
Объявления
20.09.2011, 13:38     Как поставить условие
Ответ Создать тему
Опции темы

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