![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Глюк |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 34 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте. Здесь часть программки,которая рисует треугольник и его высоты. Проблема в одном: там строчка выделена. Почему,когда g1=l она не переходит к выполнению условия??? Все пробую....скажите,где ошибка???Заранее благадарю!
Код procedure TForm1.Button3Click(Sender: TObject); const picScale = 10; var ma_x, ma_y, mb_x, mb_y, mc_x, mc_y: integer; ha_x, ha_y, hb_x, hb_y, hc_x, hc_y: integer; ba_x, ba_y, bb_x, bb_y, bc_x, bc_y: integer; i,j,m:integer; k1,k2,k3,z1,z2,z3:integer; {integer} p,a,b,c:real; g1,g2,l:{extended}real; Xh, Yh, Zh: integer; begin with paintbox1.Canvas do begin pen.Color := clBlack; moveto(picScale*strtoint(edit1.Text), picScale*strtoint(edit2.Text)); lineto(picScale*strtoint(edit3.Text), picScale*strtoint(edit4.Text)); lineto(picScale*strtoint(edit5.Text), picScale*strtoint(edit6.Text)); lineto(picScale*strtoint(edit1.Text), picScale*strtoint(edit2.Text)); pen.Color := clGreen; k1:=10*strtoint(edit1.Text); k2:=10*strtoint(edit3.text); k3:=10*strtoint(edit5.text); z1:=10*strtoint(edit2.text); z2:=10*strtoint(edit4.text); z3:=10*strtoint(edit6.text); a:= sqrt(sqr(k1-k2)+sqr(z1-z2)); b:= sqrt(sqr(k2-k3)+sqr(z2-z3)); c:= sqrt(sqr(k1-k3)+sqr(z1-z3)); p:=(a+b+c)/2; {g1:= abs(sqrt(sqr(i-k2)+sqr(j-z2))); } g2:= (2*sqrt(p*(p-a)*(p-b)*(p-c)))/c; l:=abs(g2); for i:=k1 to k3 do begin for j:=z1 to z3 do begin g1:= sqrt(sqr(i-k2)+sqr(j-z2)); if (g1=l) then {почему,когда g1=l она не переходит к выполнению условия???} begin Xh := i; Yh := j; end; end; end; moveto(10*strtoint(edit3.Text), picScale*strtoint(edit4.Text)); lineto(Xh, Yh); Сообщение отредактировано: Глюк - 22.04.2007 21:07 |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 3:16 |