TransWikia.com

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

Stack Overflow на русском Asked on August 28, 2020

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

#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».

One Answer

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

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;

Answered by Harry on August 28, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP