Задать вопрос
5 января, 17:31

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

uses crt, graphABC;

var

x, y:array[1 ... 100] of integer;

maxR, R, i, j:integer;

begin

randomize;

for i:=1 to 100 do

begin

x[i]:=random (600) + 10;

y[i]:=random (360) + 10;

circle (x[i], y[i],2) ;

end;

maxR:=0;

for i:=1 to 99 do

for j: = i+1 to 100 do

begin

R:=sqr (x[i]-x[j]) + sqr (y[i]-y[j]) ;

if R>maxR then maxR:=R;

end;

readln;

setpencolor (clred) ;

for i:=1 to 99 do

for j:=i+1 to 100 do

begin

R:=sqr (x[i]-x[j]) + sqr (y[i]-y[j]) ;

if R=maxR then line (x[i], y[i], x[j], y[j]) ;

if R=maxR then writeln (x[i],' ', y[i],' ', x[j],' ', y[j]) ;

end;

end.

+1
Ответы (1)
  1. 5 января, 20:15
    0
    Попробуйте такое:

    uses graphABC;

    var

    x, y: array [1 ... 100] of integer;

    mI, mJ, mK, maxR, R, i, j, k: integer;

    begin

    randomize;

    for i : = 1 to 100 do

    begin

    x[i] : = random (600) + 10;

    y[i] : = random (360) + 10;

    circle (x[i], y[i], 2) ;

    end;

    maxR : = 0;

    for i : = 1 to 100 do

    for j : = 2 to 99 do

    for k : = 3 to 98 do

    begin

    R : = abs ((x[i]-x[k]) * (y[j]-y[k]) - (x[j]-x[k]) * (y[i]-y[k]) div 2) ;

    if R > maxR then

    begin

    maxR : = R;

    if R > mI then mI : = i;

    if R > mJ then mJ : = j;

    if R > mK then mK : = k;

    end;

    end;

    setpencolor (clred) ;

    line (x[mI], y[mI], x[mJ], y[mJ]) ;

    line (x[mJ], y[mJ], x[mK], y[mK]) ;

    line (x[mK], y[mK], x[mI], y[mI]) ;

    end.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Нужно переделать эту программу на паскале для нахождения треугольника с самой большой площадью, образованным всеми вариантами точек uses ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы