Un programme en turbo pascal
Fermé
lolita24
Messages postés
8
Date d'inscription
dimanche 18 novembre 2007
Statut
Membre
Dernière intervention
31 mai 2011
-
3 mai 2009 à 19:47
Ki!l Messages postés 94 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 4 mars 2011 - 3 mai 2009 à 20:29
Ki!l Messages postés 94 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 4 mars 2011 - 3 mai 2009 à 20:29
A voir également:
- Un programme en turbo pascal
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Programme demarrage windows 10 - Guide
- Desinstaller un programme - Guide
- Forcer la fermeture d'un programme - Guide
1 réponse
Ki!l
Messages postés
94
Date d'inscription
vendredi 1 mai 2009
Statut
Membre
Dernière intervention
4 mars 2011
36
3 mai 2009 à 20:29
3 mai 2009 à 20:29
voici un prog que je l'ai pas encore testé
program voyageur;
uses Wincrt;
type mat = array[1..20,1..20] of integer;
vect1 = array[1..20] of string;
vect2 = array[1..20] of boolean;
var dist : mat;
ville : vect1;
vv : vect2;
vd : string;
i,j,n,dp,vc,vi,vs,dmin : integer;
begin
{Entrer le nombre de villes à visiter }
write('Entrer le nombre de villes à visiter: ');
readln(n);
writeln;
{Entrer les noms des villes et Initialiser le vecteur des villes visitées à False}
writeln('Entrer les noms des villes à visiter');writeln;
for i:= 1 to n do
begin
readln(ville[i]);
vv[i]:=false;
end;
writeln;
{Entrer le nom de la ville de départ}
write('Entrer le nom de la ville de départ: ');
readln(vd);
writeln;
{Entrer les distances entre les villes }
writeln('Entrer les distances entres les villes');
writeln;
for i:= 1 to n do
for j:=1 to i do
if i=j then dist[i,j]:=0
else
begin
write('Entre ',ville[i],' et ',ville[j], ': ');
readln(dist[i,j]);
dist[j,i]:=dist[i,j];
end;
{Marquer le ville de départ comme ville visitée}
vc:=1;
while ville[vc]<>vd do vc:=vc+1;
vv[vc]:=true;
vi:=vc;
{Initialiser la distance parcourue à zéro}
dp:=0;
clrscr;
writeln('Ville de départ : ',vd);
writeln;writeln;
writeln('L''iténéraire suivi par le voyageur est le suivant : ');
writeln;
write(' ',vd,' ');
{Recherche de la ville suivante "vs" la plus proche et calcul de la distance parcourue}
for i:=1 to n-1 do
begin
dmin:=10000;
for j:=1 to n do
if (dist[vc,j]<dmin) and (vv[j]=false) then
begin
dmin := dist[vc,j];
vs:=j;
end;
dp:=dp+dist[vc,vs];
write(ville[vs],' ');
vv[vs]:=true;
vc:=vs;
end;
dp:=dp+dist[vi,vs];
write(vd);
writeln;writeln;
write('La distance totale parcourue est de : ',dp,' Km.');
end.
{k_il90@hotmail.com}
program voyageur;
uses Wincrt;
type mat = array[1..20,1..20] of integer;
vect1 = array[1..20] of string;
vect2 = array[1..20] of boolean;
var dist : mat;
ville : vect1;
vv : vect2;
vd : string;
i,j,n,dp,vc,vi,vs,dmin : integer;
begin
{Entrer le nombre de villes à visiter }
write('Entrer le nombre de villes à visiter: ');
readln(n);
writeln;
{Entrer les noms des villes et Initialiser le vecteur des villes visitées à False}
writeln('Entrer les noms des villes à visiter');writeln;
for i:= 1 to n do
begin
readln(ville[i]);
vv[i]:=false;
end;
writeln;
{Entrer le nom de la ville de départ}
write('Entrer le nom de la ville de départ: ');
readln(vd);
writeln;
{Entrer les distances entre les villes }
writeln('Entrer les distances entres les villes');
writeln;
for i:= 1 to n do
for j:=1 to i do
if i=j then dist[i,j]:=0
else
begin
write('Entre ',ville[i],' et ',ville[j], ': ');
readln(dist[i,j]);
dist[j,i]:=dist[i,j];
end;
{Marquer le ville de départ comme ville visitée}
vc:=1;
while ville[vc]<>vd do vc:=vc+1;
vv[vc]:=true;
vi:=vc;
{Initialiser la distance parcourue à zéro}
dp:=0;
clrscr;
writeln('Ville de départ : ',vd);
writeln;writeln;
writeln('L''iténéraire suivi par le voyageur est le suivant : ');
writeln;
write(' ',vd,' ');
{Recherche de la ville suivante "vs" la plus proche et calcul de la distance parcourue}
for i:=1 to n-1 do
begin
dmin:=10000;
for j:=1 to n do
if (dist[vc,j]<dmin) and (vv[j]=false) then
begin
dmin := dist[vc,j];
vs:=j;
end;
dp:=dp+dist[vc,vs];
write(ville[vs],' ');
vv[vs]:=true;
vc:=vs;
end;
dp:=dp+dist[vi,vs];
write(vd);
writeln;writeln;
write('La distance totale parcourue est de : ',dp,' Km.');
end.
{k_il90@hotmail.com}