Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program bac2010;
- uses wincrt;
- type
- tab=array[1..10,'A'..'J'] of integer;
- mat=array['A'..'J','A'..'J'] of real;
- var
- n:integer;
- t:tab;
- i:char;
- M:mat;
- procedure remplir(var T:tab;n:integer);
- var
- c:char;
- begin
- for c:='A' to chr(n+64) do
- begin
- writeln('donner X',c);
- readln(T[1,c]);
- write('donner Y',c);
- read(T[2,c]);
- end;
- end;
- function distance(T:tab;i,j:char):real;
- var
- d:real;
- begin
- d:=sqrt(sqr(T[1,i]-T[1,j])+sqr(T[2,i]-T[2,j]));
- distance:=d;
- end;
- function proche(M:mat;i:char;n:integer):char;
- var
- j:char;
- p:real;
- begin
- p:=M[i,'A'];
- for j:='A' to chr(n+65) do
- if (j<>i) then
- if M[i,j]<p then
- begin
- p:=M[i,j];
- proche:=j;
- end;
- end;
- procedure remplir_M(var M:mat; t:tab; n:integer);
- var i,j:char;
- begin
- for i:='A' to chr(n+64) do
- for j:='A' to chr(n+65) do
- if i=j then M[i,j]:=0
- else
- M[i,j]:=distance(T,i,j);
- end;
- begin
- repeat read(n) until n in [3..10] ;
- remplir(T,n);
- remplir_M(M,T,n);
- write('Donner un point du tableau');
- read(i);
- writeln('Le point le plus proche de ',i,' est ', proche(M,i,n));
- end.
Advertisement
Add Comment
Please, Sign In to add comment