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

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

Войти
Регистрация
Восстановить пароль
 
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
#1

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

20.09.2011, 13:03. Просмотров 667. Ответов 9
Метки нет (Все метки)

Есть переменные: x1, x2, y1, y2. И нужно сделать следующее:
Прибавить к x1 единицу (++x1) в том случае если выполняется одно из условий:
1) x1 не равен x2 и y1 не равен y2
2) x1 равен x2 или y1 равен y2

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

Подскажите, какое условие нужно поставить - C++
Вот значит задача: Текст, не содержит собственных имен и сокращений, набран с использованием прописных и строчных русских букв....

Поставить рандомную матрицу, перепробовал уже много способов. Как поставить? - C++
нужно чтобы матрицу вводил не я после запуска программы,а она сама появлялась с рандомными числами! #include <iostream> #include...

Какое условие поставить на выходе из цикла в методе Рунге Кутта 4 порядка для системы ДУ 1 порядка? - C++
Пока имеется вот такой код для решения системы ДУ 1 порядка, если имеется ошибка исправьте пожалуйста, Вопрос: как мне получить ответ, мне...

как в if поставить for? - C++
Надо для всех значений массива проверить, равно ли какому либо из этих значений число введенное с клавиатуры. ЕСли k не равняется ни...

Как называется условие if (!x) {} и как оно работает? - C++
Добрый день, как называется условие if (!x) {} и как работает? Если x вернет true, то x "выполнится" иначе сработает условие в скобках? ...

как поставить EOF? - C++
Ребят, подскажите пожалуйста. Итак, вот листинг программы. Если я открываю файл, созданный с помощью потока, все читается без проблем(я так...

9
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
20.09.2011, 13:13 #2
C
1
2
if((x1 != x2 && y1 != y2) || (x1 == x2 || y1 == y2))
   ++x1;
1
talis
792 / 544 / 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++;

Не по теме:

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

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

Как сделать это?
0
talis
792 / 544 / 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 секунды
Инкрементировать в случае, если только одна пара чисел равна?
1
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++;
Вот так надо было. Спасибо всем за помощь!
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
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
подозрительно...
0
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
20.09.2011, 13:37  [ТС] #9
Цитата Сообщение от Nameless One Посмотреть сообщение
x1==x1
Тут отпечатка должно быть: x1==x2
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
20.09.2011, 13:38 #10
Цитата Сообщение от Nameless One Посмотреть сообщение
подозрительно...
очепятки, очепятки.. Я предпочитаю более информативные имена переменных.
0
20.09.2011, 13:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2011, 13:38
Привет! Вот еще темы с ответами:

Как поставить степень в C++ - C++
Вечер добрый, создал float a и double b теперь хочу задать им значения, a = -0.00330044982 b = 0.731 x 10 в -3408 степени. ...

Как поставить значок на прграмму - C++
Подскажите как мне поставить какой-нибудь значок на программу c++

как поставить защиту от дураков? - C++
#include "stdafx.h" #include <math.h> #include <clocale> #include <iostream> using namespace std; int main () { ...

Как поставить программу на паузу? - C++
Можно как то остановить выполнение программы C++ на пол секунды? И затем запустить снова. Если такое возможно то приведите плз...


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

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

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