12 / 12 / 8
Регистрация: 27.12.2012
Сообщений: 448
1

Построить треугольник по заданным координатам вершин, вычислить площадь

15.01.2013, 18:16. Показов 4793. Ответов 3
Метки нет (Все метки)

Есть готовая прога,но неправильно работает.
Задание:Построить треугольник по заданным координатам вершин А, В и С, закрасив его в синий цвет. Отметить вершины треугольника, вычислить его площадь и вывести значение площади на экран.
Дело в том,что если подставить координаты так: 1 1 1 4 5 1-,то площадь должна получится 6,а у меня выводит 0.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Uses crt,graph;
var driver,mode,x1,x2,x3,y1,y2,y3,x,y:integer;
    p,S,l1,l2,l3:real;
    pl:string;
Begin
 clrscr;
  write('Input coordinates: ');
  readln(x1,y1,x2,y2,x3,y3);
  driver:=detect;
  initgraph(driver,mode,'D:\tp7\BIN');
   setbkcolor(15);
   setcolor(1);
     line(x1,y1,x2,y2);
     line(x2,y2,x3,y3);
     line(x3,y3,x1,y1);
     x:=trunc((x1+x2+x3)/3);
     y:=trunc((y1+y2+y3)/3);
     setfillstyle(1,1);
     floodfill(x,y,1);
     setcolor(4);
    putpixel(x1,y1,4);
    outtextxy(x1+1,y1+1,'A');
    putpixel(x2,y2,4);
    outtextxy(x2+1,y2+1,'B');
    putpixel(x3,y3,4);
    outtextxy(x3+1,y3+1,'C');
  l1:=sqrt(sqr((x2-x1))+sqr((y2-y1)));
  l2:=sqrt(sqr((x3-x2))+sqr((y3-y2)));
  l3:=sqrt(sqr((x1-x3))+sqr((y1-y3)));
    p:=(l1+l2+l3)/3;
   S:=sqrt(p*(p-l1)*(p-l2)*(p-l3));
   str(s:6:3,pl);
   outtextxy(460,20,pl);
 readkey;
end.
Думаю,что ошибка в этой части:
Pascal
1
2
3
4
5
6
7
l1:=sqrt(sqr((x2-x1))+sqr((y2-y1)));
  l2:=sqrt(sqr((x3-x2))+sqr((y3-y2)));
  l3:=sqrt(sqr((x1-x3))+sqr((y1-y3)));
    p:=(l1+l2+l3)/3;
   S:=sqrt(p*(p-l1)*(p-l2)*(p-l3));
   str(s:6:3,pl);
   outtextxy(460,20,pl);
Смотрел через дебагер - не помогло.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2013, 18:16
Ответы с готовыми решениями:

Вычислить периметр и площадь треугольника по координатам вершин
составьте программу которая по заданным координатам треугольника (ввод с клавиатуры 6-ти...

Вычислить периметр и площадь треугольника по заданным координатам его вершин
Помогите решить задачу! Вычислить периметр и площадь треугольника по заданным координатам его...

По заданным координатам вершин треугольника найти стороны и площадь
По заданным координатам вершин треугольника найти стороны и площадь.

Нарисовать прямоугольный треугольник по заданным координатам вершин острых углов и величине угла
Помогите! Нужно нарисовать любой прямоугольный треугольник за заданными координатами вершин острых...

3
314 / 273 / 272
Регистрация: 25.09.2011
Сообщений: 477
15.01.2013, 18:33 2
Цитата Сообщение от triadec_96 Посмотреть сообщение
p:=(l1+l2+l3)/3;
вообщето при вычислении площади используется полупериметр
1
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
15.01.2013, 18:47 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Uses crt,graph;
var driver,mode,x1,x2,x3,y1,y2,y3,x,y:integer;
    p,S,l1,l2,l3:real;
    pl:string;
Begin
 clrscr;
  write('Input coordinates: ');
  readln(x1,y1,x2,y2,x3,y3);
  driver:=detect;
  initgraph(driver,mode,'D:\tp7\BIN');
   setbkcolor(15);
   setcolor(1);
     line(x1,y1,x2,y2);
     line(x2,y2,x3,y3);
     line(x3,y3,x1,y1);
     x:=trunc((x1+x2+x3)/3);
     y:=trunc((y1+y2+y3)/3);
     setfillstyle(1,1);
     floodfill(x,y,1);
     setcolor(4);
    putpixel(x1,y1,4);
    outtextxy(x1+1,y1+1,'A');
    putpixel(x2,y2,4);
    outtextxy(x2+1,y2+1,'B');
    putpixel(x3,y3,4);
    outtextxy(x3+1,y3+1,'C');
  l1:=sqrt(sqr((x2-x1))+sqr((y2-y1)));
  l2:=sqrt(sqr((x3-x2))+sqr((y3-y2)));
  l3:=sqrt(sqr((x1-x3))+sqr((y1-y3)));
    p:=(l1+l2+l3)/2;
   S:=sqrt(p*(p-l1)*(p-l2)*(p-l3));
   str(s:6:3,pl);
   outtextxy(460,20,pl);
 readkey;
end.
1
12 / 12 / 8
Регистрация: 27.12.2012
Сообщений: 448
15.01.2013, 18:49  [ТС] 4
Цитата Сообщение от Zhexon Посмотреть сообщение
вообщето при вычислении площади используется полупериметр
Ааааа.Я попутал полупериметр с средним арифметическим.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2013, 18:49
Помогаю со студенческими работами здесь

По заданным координатам вершин прямоугольника ABCD найти его площадь и периметр
Известны координаты вершин прямоугольника ABCD , A(x1,y1), B(x2,y2), C(x3,y3). Найти площадь и...

Дан треугольник по заданным координатам своих вершин.Определить радиус окружности возле треугольника
Дан треугольник по заданным координатам своих вершин.Определить радиус окружности возле...

Вычислить площадь многоугольника с использованием функции,которая определяет площадь по координатам его вершин
Народ помогите пож нужно очень срочно. совсем запутался с этим задание,буду благодарен за помощь....

Вычислить площадь треугольника по координатам вершин
Помогите пожалуйста). Задание - слепить макрос для вычисления площади треугольника по координатам...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru