• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Задача: Принадлежность точки плоскости (отсекаемой прямыми)

  • Автор темы Gantz
  • Дата начала
G

Gantz

Помогите решить задачу на C++/консольное приложение
/CodeBlocks

Вот задание:
Логические операции в операторе if – else.

Даны действительные числа х и у. Определить, принадлежит ли точка с координатами (х, у) заштрихованной части плоскости.

0cadbcc64aece37b6041a97319c2428b.jpg
 
D

DarkKnight

А вы математически эту задачу можете решить????
Хотя бы уравнения ограничевающих прямых написать??
 
B

BashOrgRu

Прикольненько) задана область, и из графика непонятна координата Х каревых точек области.
 
D

DarkKnight

C++:
#include <iostream>

using namespace std;

void main(void)
{
setlocale(LC_ALL,"Russian");
double x,y;
cout<<"Введите Точку(через пробел) [X Y] : ";
cin>>x>>y;


if ((abs(2*x)-abs(y) <=1)&& (abs(y)<=1))
cout<<"Точка принадлежит заданной области"<< endl;
else cout<<"Точка НЕ принадлежит заданной области"<< endl;


}
 
G

Gantz

#include <iostream> using namespace std; void main(void) { setlocale(LC_ALL,"Russian"); double x,y; cout<<"Введите Точку(через пробел) [X Y] : "; cin>>x>>y; if ((abs(2*x)-abs(y) <=1)&& (abs(y)<=1)) cout<<"Точка принадлежит заданной области"<< endl; else cout<<"Точка НЕ принадлежит заданной области"<< endl; }

спасибо но у меня ошибка с void можете объяснить что такое abs?
 
A

Araneus

abs() функция модуля от числа (абсолютное значение), тоесть
abs(-5)=5
abs(2)=2
 
D

DarkKnight

спасибо но у меня ошибка с void можете объяснить что такое abs?
Что бы ошибки не было то в начальной секции пишишь так:

C++:
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>

//using namespace std;
И все будут ок... Скорее всего тоже в Borland C++ пишите..
А abs - как уже вам описал Araneus - модуль числа...

У вас просто на картинке, после ее длительного рассмотрения, получается ;-) :
2x-1 = y
2x +1 = y
y= 1
y=-1
Как вы можете понять они зеркальные поэтому описание всех ограничений таким образом как:
2x-y >= -1
2x-y <= 1
y <= 1
y >= 1
Не имеет смысла, модуль же сразу избавляет от двух не нужных условий, тоесть остается
y <= 1, где y = |y|
2x-y <= 1, где x = |x| , y = |y|
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!