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 (нет перехода на новую строку) позволяют выводить два номера четверти, если точка лежит на одной из осей, а расположение условий для четвертей по порядку позволяет соблюсти условие о том, что сначала необходимо выводить меньший номер.
// Внимание! Если программа не работает, обновите версию!
begin
var x:=ArrGen(8,i->Ln(i+1.1)); x.Println;
var k:=x.Where(t->(Sin(t)>-0.5) and (Sin(t)<=0)).Count;
var im:=x.IndexMin;
Writeln('На указанном интервале найдено элементов: ',k);
Writeln('Минимальный элемент массива, равный ',x[im],
' имеет порядковый номер ',im+1)
end.
Результат
0.0953101798043249 0.741937344729377 1.1314021114911 1.41098697371026 1.62924053973028 1.80828877117927 1.96009478404727 2.09186406167839
На указанном интервале найдено элементов: 0
Минимальный элемент массива, равный 0.0953101798043249 имеет порядковый номер 1