
program z1;
ar x,y:integer;
begin
readln(x);
readln(y);
if (x=0) and (y=0) then write(0)
else
begin
if (x>=0) and (y>=0) then write(1);
if (x<=0) and (y>=0) then write(2);
if (x<=0) and (y<=0) then write(3);
if (x>=0) and (y<=0) then write(4)
end
end.
Объяснение:
Если точка лежит в начале координат, т.е. х = 0 и у = 0, то выводим 0, иначе выводим какой четверти принадлежит точка, начиная с 1 четверти и по порядку.
Нестрогие условия (>= и <=) и оператор write (нет перехода на новую строку) позволяют выводить два номера четверти, если точка лежит на одной из осей, а расположение условий для четвертей по порядку позволяет соблюсти условие о том, что сначала необходимо выводить меньший номер.
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int x1,y2,x2,y2, r1, r2;
cin >> x1 >> y1 >> endl; //вводим координаты первой точки
cin >> x2 >> y2 >> endl; //вводим координаты второй точки
r1 = sqrt(x1*x1 + y1*y1); //находим расстояние от первой
r2 = sqrt(x2*x2+y2*y2) //от второй
if (r1>r2){
cout << "Точка 1 ближе к началу координат";
}
else{
cout << "Точка 2 ближе к началу координат";
}
else if (r1=r2){
cout << "Эти точки равны"
}
return 0;
}