Phascal! в текстовом файле в каждой строчке записаны 2 числа - координаты точек стандартного графического окна (x,y) (число строк в файле может быть любым). программа должна соединить точки, заданные указанными координатами в замкнутый контур черными линиями. затем в каждой из этих точек нарисовать фигуру (радиус окружности равен 10, а центр фигуры совпадает с координатами точки). если координаты точек заданы так, что хотя бы одна фигура выходит за пределы графического окна, тогда ничего кроме сообщения об ошибке не выводиться!
GraphABC;
var
x, y: integer;
s: array of string;
b: GraphABC.Point;
begin
s := System.IO.File.ReadAllLines('in.txt');
foreach a: string in s do
begin
X := integer.Parse(a.Replace('(', '').Replace(')', '').Replace(' ', '').Split(';')[0]);
Y := integer.Parse(a.Replace('(', '').Replace(')', '').Replace(' ', '').Split(';')[1]);
if not (b.IsEmpty) then
GraphABC.LineTo(X, Y)
else
begin
GraphABC.MoveTo(X, Y);
b := new Point(x, y);
end;
DrawCircle(x, y, 10);
end;
LineTo(b.X, b.Y);
end.
Код, конечно, вырвиглазный, зато работает и прочитать его относительно легко:)
Содержимое файла in.txt (для теста)
(50; 50)
(90; 50)
(90; 90)
(50; 90)