Program S2;
uses crt;
Type
mat = array[1..5,1..5] Of real;
Var
t,m : mat;
n : integer;
//*************************************
Procedure cordonnees (Var t:mat;n:integer);
Var
i,j : integer;
Begin
For j:=1 To n Do
Begin
writeln ('donner les cordonnes de: ',chr(64+j));
For i:=1 To 2 Do
Begin
Write('t[',i,',',j,']:');
readln(t[i,j]);
End;
End;
End;
//*************************************
Function calcul(t:mat;p,q:integer) : real;
Var
d : real;
Begin
d := sqrt(sqr(t[1,p]-t[1,q])+sqr(t[2,p]-t[2,q]));
calcul := d;
End;
//*************************************
Procedure distance( t:mat;n:integer ;Var m:mat ) ;
Var
i,j : integer;
Begin
For i:=1 To n Do
For j:=i To n Do
If (i=j) Then
m[i,j] := 0
Else
Begin
m[i,j] := calcul(t,i,j);
m[j,i] := m[i,j];
End;
End;
//*************************************
Procedure affiche (m:mat;n:integer);
Var
i,j : integer;
Begin
write('':7);
For i:=1 To n Do
write (chr(64+i) : 7);
writeln;
For i:=1 To n Do
Begin
write (chr(64+i) : 7);
For j:=1 To n Do
write (m[i,j]:7:2);
writeln;
End;
End;
//*************************************
Begin
Repeat
writeln ('donner le nombre de point:');
readln (n);
Until n In [3..10];
cordonnees (t,n);
distance(t,n,m);
clrscr;
writeln('La distance entre les points: ');
writeln;
writeln;
affiche(m,n);
End.
Inscription à :
Publier les commentaires (Atom)