Помогите пожалуйста проверить код!

В с++ ещё плохо разбираюсь, пытаюсь написать код по задаче.Не понимаю правильно иду или нет.

#include <iostream>
using namespace std;
int main()
{
int x[3], y[3];
cin >> x[1];
cin >> y[1];
cin >> x[2];
cin >> y[2];
cin >> x[0];
cin >> y[0];

    if (x[0] > x[2] && y[0] > y[2])
    {
        cout << "NE";
    }
    else if (x[0] > x[2] && y[0] < y[1])
    {
        cout << "SE";
    }
    else if (x[0] < x[1] && y[0] < y[1])
    {
        cout << "SW";
    }
    else if (x[0] < x[1] && y[0] > y[2])
    {
        cout << "NW";
    }

/*  if (y[0] > y[2])
    {
        cout << "N";
    }
    else if (y[0] < y[1])
    {
        cout << "S";
    }
    else if (x[0] < x[2])
    {
        cout << "W";
    }
    else if (x[0] > x[2]);
    {
        cout << "E";
    }*/
   }

Само условие: Программа получает на вход шесть чисел в следующем порядке: 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 шт):

Автор решения: Harry

Ну, я бы делал так.

int x1,y1, x2,y2, x,y;
cin >> x1 >> y1 >> x2 >> y2;   // Координаты плота

cin >> x >> y;                 // Координаты пловца

char V =                       // Куда плыть по вертикали?
    (y > y2) ? 'N' :           // Если высоко (севернее) - точно к северной стороне
    (y < y1) ? 'S' : 0;        // Если низко (южнее) - к южной стороне
                               // Иначе - плыть по горизонтали

char H =                       // То же самое для горизонтали
    (x > x2) ? 'E' :
    (x < x1) ? 'N' : 0;

                               // Просто выводим символы, если есть
if (V) cout << V;
if (H) cout << H;
cout << endl;
→ Ссылка