Создан заказ №4096340
5 июня 2019
Чтобы треугольник не пересекался с осью Ox и пересекался с осью Oy
Как заказчик описал требования к работе:
Решить все задачи и указать с какой темы каждая задача
Фрагмент выполненной работы:
Чтобы треугольник не пересекался с осью Ox и пересекался с осью Oy, его вершины должны лежать в одной полуплоскости относительно Ox и в разных относительно Oy. Получается, что вершины треугольника должны лежать в первой и второй либо в третьей и четвёртой четвертях, причём в одной из этих четвертей должны лежать две вершины, в другой — одна.
Решение:
Зная количество точек в каждой четверти, можно подсчитать количество искомых треугольников. (работа была выполнена специалистами Автор 24) Например, если в первой четверти лежит n1 точек, а во второй — n2 точек, то количество треугольников, у которых две вершины лежат в первой четверти, а одна – во второй, равно (n1(n1–1)/2) * n2 = n1(n1–1)n2/2.
Если известны величины n1, n2, n3, n4, показывающие количество точек в каждой четверти, то общее количество треугольников равно (n1(n1–1)n2 + n2(n2–1)n1 + n3(n3–1)n4 + n4(n4–1)n3) / 2.
Пример правильной и эффективной программы на языке Паскаль
program P27;
var
N: integer; {количество точек}
x,y: integer; {координаты очередной точки}
n1, n2, n3, n4: integer;
{количество точек по четвертям}
s: integer; {количество треугольников}
i: integer;
begin
readln(N);
n1:=0; n2:=0; n3:=0; n4:=0;
for i:=1 to N do begin
readln(x,y);
if (x>0) and (y>0) then n1 := n1+1;
if (x<0) and (y>0) then n2 := n2+1;
if (x<0) and (y<0) then n3 := n3+1;
if (x>0) and (y<0) then n4 := n4+1;
end;
s := (n1*n2*(n1+n2-2) + n3*n4*(n3+n4-2)) div 2;
writeln(s)
end.
Пример правильной, но неэффективной программы на языке Паскаль.
var
N: integer; {количество точек}
a: array[1..10000, 1..2] of integer; {исходные данные}
x, y: integer; {координаты очередной точки}
s: integer; {количество треугольников}
i, j, k: integer;
begin
readln(N);
s := 0;
for i := 1 to N do read(a[i, 1], a[i, 2]);
for i := 1 to N do
for j := i+1 to N do
for k := j+1 to N do begin
if (a[k, 2]<0) and (a[j,..Посмотреть предложения по расчету стоимости
Заказчик
заплатил
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
6 июня 2019
Заказ завершен, заказчик получил финальный файл с работой
![](https://author24shop.ru/assets/img/avatars/size176x176/214/519382.jpg?1675766685)
5
![скачать](/assets/img/lenta2020/download_icon.png)
Чтобы треугольник не пересекался с осью Ox и пересекался с осью Oy.docx
2019-06-09 09:28
Последний отзыв студента о бирже Автор24
Общая оценка
5
![](/assets/images/emoji/star-eyes.png)
Положительно
Выполненная работа понравилась,работать с автором легко и удобно. Срок выполнения был очень мал,но автор справился,выполнив все требования и даже больше. Очень ему благодарна.