Welcome, guest! Login / Register - Why register?
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

Your Name: Code Language: