Поделитесь своими знаниями, ответьте на вопрос:
На каждую отдельный полный код для pascal. можно без объяснения. заранее за полное решение 1) на плоскости дан набор точек с целочисленными координатами. необходимо найти треугольник наибольшей площади с вершинами в этих точках, одна из сторон которого лежит на оси ox. напишите эффективную, в том числе по памяти, программу, которая будет решать эту . размер памяти, которую использует ваша программа, не должен зависеть от длины переданной последовательности чисел. укажите используемый язык программирования и его версию. в первой строке вводится одно целое положительное число – количество точек n. каждая из следующих n строк содержит два целых числа – сначала координата х, затем координата у очередной точки. программа должна вывести одно число – максимальную площадь треугольника, удовлетворяющего условиям . если такого треугольника не существует, программа должна вывести ноль. пример входных данных: 6 0 0 2 0 0 4 3 3 5 5 -6 -6 пример выходных данных для выше примера входных данных: 6 2) на плоскости дан набор точек с целочисленными координатами. необходимо найти такой треугольник наибольшей площади с вершинами в этих точках, у которого нет общих точек с осью оу, а одна из сторон лежит на оси ох. напишите эффективную, в том числе по памяти, программу, которая будет решать эту . размер памяти, которую использует ваша программа, не должен зависеть от количества точек. перед текстом программы кратко опишите используемый алгоритм решения и укажите используемый язык программирования и его версию. описание входных данных в первой строке вводится одно целое положительное число - количество точек n. каждая из следующих n строк содержит два целых числа - сначала координата х, затем координата у очередной точки. числа разделены пробелом. описание выходных данных программа должна вывести одно число - максимальную площадь треугольника, удовлетворяющего условиям . если такого треугольника не существует, программа должна вывести ноль. пример входных данных: 8 -10 0 2 0 0 4 3 3 7 0 5 5 4 0 9 -9 пример выходных данных для выше примера входных данных: 22.5 3) на плоскости задано множество точек с целочисленными координатами. необходимо найти количество отрезков, свойствами: 1. оба конца отрезка принадлежат заданному множеству; 2. ни один конец отрезка не лежит на осях координат; 3. отрезок пересекается с обеими осями координат. напишите эффективную по времени и по используемой памяти программу для решения этой . программа считается эффективной по времени, если при увеличении количества точек в k раз время работы возрастает не более чем в k раз. программа считается эффективной по памяти, если размер памяти для хранения всех необходимых данных не зависит от количества точек и не превышает 1 килобайта. перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию. входные данные в первой строке задаётся n – количество точек в заданном множестве. каждая из следующих строк содержит два целых числа x и y – координаты очередной точки. гарантируется, что 1≤n≤1; -1000≤x, y≤1000. пример входных данных: 4 6 6 -8 8 -9 -9 7 -5 выходные данные необходимо вывести единственное число: количество удовлетворяющих требованиям отрезков. пример выходных данных для выше примера входных данных: 2 4) на плоскости задано множество точек с целочисленными координатами. необходимо найти максимально возможную площадь невырожденного (т.е. имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на осях координат и при этом принадлежат заданному множеству. если такого треугольника не существует, необходимо вывести соответствующее сообщение. напишите эффективную, в том числе по используемой памяти, программу для решения этой . перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию. входные данные в первой строке задаётся n – количество точек в заданном множестве. каждая из следующих строк содержит два целых числа x и y – координаты очередной точки. пример входных данных: 3 6 0 0 8 9 7 выходные данные если искомый треугольник существует, программа должна напечатать одно число: максимально возможную площадь треугольника, удовлетворяющего условиям. если искомый треугольник не существует, программа должна напечатать сообщение: «треугольник не существует».
Я комментарием пометил ошибку
type point=record
x,y:real;
end;
var a:array[1..3] of point;
i,j: integer;
z: point;
c: real;
begin
writeln('Координаты вершин');
readln(a[1].x,a[1].y,a[2].x,a[2].y,a[3].x,a[3].y);
//отсортируем по убыванию y
for i:=1 to 2 do
for j:=i+1 to 3 do
if a[i].y>a[j].y then
begin
z:=a[j];
a[j]:=a[i];
a[i]:=z;
end;
//выбираем первую точку
if a[2].x a[2].x then // Ошибка, здесь ничего не сравнивается
begin
z:=a[3];
a[3]:=a[2];
a[2]:=z;
end;
for i:=1 to 3 do begin
c:=sqrt(a[i].x*a[i].x + a[i].y*a[i].y);
writeln ('Расстояние от начала координат',' ',c);
end;
readln
end.