Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted by John ( 14 years ago )
{napisać funkcje/procedure ktora ma na wejsciu:
dwie tablice, dlugosc tych tablic(obie maja taka sama dlugosc)
Tablice są tego samego typu(deklarować ten typ) i zawierają punkty x,y.
Funkcja ma znaleźć takie dwa punkty w pierwszej i drugiej tablicy których odległość
jest najmniejsza.
odl=sqrt( sqr(x_i-x_j)+ sqr(y_i - y_j))
i zwrócić indeksy tablic tych punktów(można je zwrócić używając typu record).
W przypadku użycia procedury użyć parametrów wejściowych.
Jeżeli kilka par punktów znajdują sie w tej samej najmniejszej odległości zwracamy indeksy
dowolnej pary punktów.
uwaga: nie używać funkcji read i write - nie sa potrzebne).
}
program tablicapecki;
uses crt,math;
type
punkt = record
x:integer;
y:integer;
end;
var
// i:integer;
tab1:array[1..15] of punkt;
tab2:array[1..15] of punkt;
indeks1:punkt;
indeks2:punkt;
odl1:real;
// procedure tablice ( tab1,tab2:punkt);
// var
min,odl,odl2:real;
a,i,j:integer;
// begin
//;
BEGIN
randomize;
for a:=1 to 15 do
begin
tab1[i].x:=random(9);
tab2[i].x:=random(9);
tab1[i].y:=random(9);
tab2[i].y:=random(9);
odl1 := ((tab2[i].x - tab1[i].x)*(tab2[i].x - tab1[i].x));
odl2:=(tab2[i].y - tab1[i].y)*(tab2[i].y - tab1[i].y);
odl:=sqrt(odl1+odl2);
write('odl miedzy pkt','(',tab1[i].x,',',tab2[i].x,')','(',tab1[i].y,',',tab2[i].y,')','wynosi',odl:0:2);
writeln;
end;
readln;
END.
Revise this Paste