Задача. Задана точка с координатами [latex]x[/latex] и [latex]y[/latex]. Определить, в какой координатной четверти она расположена.
Входные данные
В единственной строке через пробел заданы [latex]2[/latex] вещественных числа — координаты точки, значения координат по модулю не превышают [latex]100[/latex].
Выходные данные
Единственное число — номер соответствующей четверти, либо [latex]0[/latex], если однозначно определить четверть невозможно.»
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; int main () { double x; cin>>x; double y; cin>>y; cout<<((x==0)||(y==0)?"0":(x>0? (y>0?"1":"4"):(y>0?"2":"3"))); return 0; } |
Ссылка на код на ideone.
Ссылка на засчитанное решение.
Тесты
[latex]x[/latex] | [latex]y[/latex] | четверть | [latex]x[/latex] | [latex]y[/latex] | четверть |
2 | -2 | 4 | 0 | 54 | 0 |
5 | 7 | 1 | -3 | 4 | 2 |
-3 | 0 | 0 | -3 | -8 | 3 |
0 | 0 | 0 |
Поскольку в любом случае мы обращаемся к оператору вывода, имеет смысл вложить условия в этот оператор. Сначала мы проверяем, не равна ли хотя бы одна переменная нулю. Если да — выводим [latex] 0[/latex], если нет — проверяем, больше ли [latex]x[/latex] нуля. Если да — это будет первая или четвертая четверть, если нет — вторая или третья. Внутри проверки [latex]x[/latex] проверяем [latex]y[/latex]. Если y больше нуля — это первая или вторая четверть, если меньше — вторая или третья.
Программа работает, но необходимы исправления, чтобы я мог зачесть работу:
— Формулы (даже если это всего один символ) нужно оформлять в latex.
— Нет смысла повторять заголовок статьи в тексте.
— Исправьте отступы.
Работа принята.
На будущее, не пересказывайте в пояснениях код — вряд ли в ближайший год там будет что-то требующее пояснений. Объясняйте своё решение. Например, «нам необходимо рассмотреть 5 случаев…»