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».
Ну, я бы делал так.
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
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP