ЖВ
Женя Васильева

Уравнение прямой по двум точкам

Эта задача по вычислительной геометрии: Решена она правильно, единственно, что мне надо, это - как вывести уравнение прямой так что бы она могла менять знаки (напимер: у меня выводит -2х+2y+-2=0, а мне надо, что бы он выводил - -2х+2y-2=0)
Program prog;
uses crt;
type
Vector2D=record
x: real;
y: real;
end;
Line2D=record
A:real;
B:real;
C:real;
end;
var x1,y1,x2,y2:real;
A, B, C:real;
L:line2D;
f1,f2:Vector2D;
procedure wod_Vector2D (var h:Vector2D);
Begin
writeln ('Введите координаты вектора X ');
readln(h.x);
writeln ('Введите координаты вектора Y');
readln(h.y);
end;
procedure vyvod_Vector2D(a:Vector2D);
Begin
writeln ('(',a.x,', ',a.y,')');
end;
procedure PointToLine(x1,y1,x2,y2:real; var A, B, C:real);
begin
A:=y1-y2;
B:=x2-x1;
C:=(x1*y2)-(x2*y1);
end;
Begin
clrscr;
writeln('Координаты точки A ');
write('X: ');readln(x1);
write('Y: ');readln(y1);
writeln('Координаты точки B ');
write('X: ');readln(x2);
write('Y: ');readln(y2);
PointToLine( x1,y1,x2,y2,A,B,C);
writeln('Уравнение прямой: ',A,'x', '+' ,B,'y', '+' ,C,'=0');
end.

Yu
Yuriy

writeln('Уравнение прямой: ',A,'x', '+' ,B,'y', '+' ,C,'=0');
проблема в этой строке. Паскаль сам по себе не умеет выводить числа со знаком (вроде, если кто-то знает как, пусть поделится) , поэтому придется делать примерно так:
writeln('Уравнение прямой: ',A,'x', plus(B) ,B,'y', plus(C) ,C,'=0');
и добавить функцию plus:
function plus(x:real):string;
begin
result:='';
if x>0 then result:='+';
end;
эта функция допишет +, только если он нужен, иначе не выведет ничего.

Похожие вопросы
Найти угол между двумя прямыми
Как получить каноническое уравнение прямой зная 2 точки, лежащие на этой прямой?
Как составить уравнение прямой, проходящей через точку A параллельно данной прямой?
Расстояние между двумя параллельными прямыми a и с равно 10 см. На прямой а взята точка А, а на прямой с – точка С, прич
Расстояние между двумя точками прямой! ПОЖАЛУЙСТА ОТВЕТЬТЕЕЕ!!!
Запишите уравнение прямой, параллельной данной прямой и проходящей через данную точку А :
Растояния между двумя точками прямой?
Уравнение прямой в пространстве. Составить каноническое уравнение прямой, через точки А (-5;2;-1) и В (-2;6;3)
Найти уравнение прямой, проходящей через точку пересечения прямых
прямая проходит через точки А (3;0) и В (0;4).Составьте уравнение прямой