Задача
Даны действительны числа [latex]x[/latex] , [latex]y[/latex] . Определить , принадлежит ли точка с координатами [latex]x[/latex] , [latex]y[/latex] заштрихованной части плоскости .
Тесты:
x | y | результат | комментарий |
-1.5 | 1 | outside | пройден |
-0.5 | 0.5 | inside | пройден |
0.5 | 0.5 | inside | пройден |
1.5 | 1.5 | outside | пройден |
-0.5 | -0.5 | inside | пройден |
-1 | -1.5 | outside | пройден |
1 | -1.5 | outside | пройден |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <iostream> using namespace std; int main() { double x, y; cin >> x >> y; if ((y <= 2*x +2 ) && (y <= -2*x +2) && ( y >= -1)) { cout << "inside" ; } else { cout << "outside" ; } return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in=new Scanner(System.in); double x,y; x=in.nextDouble(); y=in.nextDouble(); boolean inside = ((y <= 2*x +2 ) && (y <= -2*x +2) && ( y >= -1)); System.out.println (inside?"inside":"outside"); } } |
Ссылка на код C++ : http://ideone.com/JKdLjg
Ссылка на код Java : http://ideone.com/kWAdw2
Решение :
Решение задачи сводится к поиску условия, при котором точка будет принадлежать данной части плоскости. Далее вводим оператор условия «if» и ставим ограничения на [latex]x[/latex] и [latex]y[/latex].
7 |
if ((y <= 2*x +2 ) && (y <= -2*x +2) && ( y >= -1)) |
Анализируем условие , при каких значениях [latex]x[/latex] и [latex]y[/latex] точка будет принадлежать условию , а при каких нет.Если вошла точка по координатам во все области -> точка принадлежит треугольнику или же наоборот .
Хорошо, что сделали рисунок. Молодец. Но…
— Вы написали четыре условия, которые определяют прямоугольник, а не треугольник. Кроме (x > -1) нужно написать еще два неравенства соответствующих боковым сторонам треугольника.
– Вы написали четыре условия, которые определяют прямоугольник, а не треугольник. Кроме (x > -1) нужно написать еще два неравенства соответствующих боковым сторонам треугольника.
исправила
Зачтено
— Поправьте отступы.
— Вы не хотите научиться использовать тернарную операцию?
Учитывая, что сделано раньше, поставлю 10 баллов.