• Pascal abc
    Посередине озера плавает плот, имеющий форму прямоугольника. Стороны плота
    направлены вдоль параллелей и меридианов. Введём систему координат, в которой ось OX
    направлена на восток, а ось ОY – на север. Пусть юго-западный угол плота имеет координаты
    (x1, y1), северо-восточный угол – координаты (x2, y2).
    Пловец находится в точке с координатами (x, y). Определите, к какой стороне плота
    (северной, южной, западной или восточной) или к какому углу плота (северо-западному,
    северо-восточному, юго-западному, юго-восточному) пловцу нужно плыть, чтобы как можно
    скорее добраться до плота.
    Программа получает на вход шесть чисел в следующем порядке: x1, y1 (координаты
    юго-западного угла плота), x2, y2 (координаты
    северо-восточного угла плота), x, y (координаты
    пловца). Все числа целые и по модулю не
    превосходят 100. Гарантируется, что x1 < x2, y1 < y2,
    x ≠ x1, x ≠ x2, y ≠ y1, y ≠ y2, координаты пловца
    находятся вне плота.
    Если пловцу следует плыть к северной
    стороне плота, программа должна вывести символ
    «N», к южной – символ «S», к западной – символ
    «W», к восточной – символ «E». Если пловцу
    следует плыть к углу плота, нужно вывести одну из
    следующих строк: «NW», «NE», «SW», «SE».
    Пример входных и выходных данных
    Ввод:
    -1
    -2
    5
    3
    -4
    6
    Вывод: NW
    Решение, правильно работающее для случаев, когда ответом является одна из сторон плота «N», «S», «W», «E»

Ответы 1

  • //PascalABC.NET 3.2 сборка 1318Var  x1,y1,x2,y2,x,y,x3,y3,x4,y4:integer;beginread(x1,y1,x2,y2,x,y);x3:=x1;y3:=y2;x4:=x2;y4:=y1;if (x<x1) and (y<=y3) and (y>=y1) then writeln('W') elseif (x<x1) and (y>y3) then writeln('NW') elseif (x>=x1) and (x<=x2) and (y>y3) then writeln('N') elseif (x>x2) and (y>y3) then writeln('NE') elseif (x>x2) and (y<=y2) and (y>=y4) then writeln('E') elseif (x>x2) and (y<y4) then writeln('SE') elseif (x<=x4) and (x>=x1) and (y<y4) then writeln('S') elseif (x<x1) and (y<y1) then writeln('SW');end.Пример ввода:-2 1 4 4 -3 5Пример вывода:NW
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years