aide sur un tp

aide sur un tp - Delphi/Pascal - Programmation

Marsh Posté le 05-05-2009 à 21:57:10    

bonsoir ,
on nous a demander de faire un tp .qui est comme suit .
soit un graph qui represente les differentes villes d'un pays .
*-ecrire un programme qui gére les differentes voyages en rependant aux questions du genre :
 
   -l'existance d'un chemins entre 2 villes .
   -la distance a parcourir entre deux villes .
   -tout les chemins entre 2 villes en précisant les differentes distances .
   -le chemins le plus court entre 2 villes.
 
 
 :pt1cable:  
bon voici ce que j'ai pouvu faire .

Code :
  1. program tp;
  2. uses crt;
  3. var t:array[0..5,0..5] of string;
  4.     t2:array[0..5,0..5] of integer;
  5. i,j,k:integer;
  6. begin
  7. clrscr;
  8. (* l'existance d'un chemin entre deux villes*)
  9. t2[0,1]:=23;
  10. t2[0,2]:=25;
  11. t2[0,3]:=19;
  12. t2[0,4]:=18;
  13. t2[0,5]:=12;
  14. t2[1,0]:=23;
  15. t2[2,0]:=25;
  16. t2[3,0]:=19;
  17. t2[4,0]:=18;
  18. t2[5,0]:=12;
  19. for i:=1 to 5 do
  20. begin
  21. for j:=1 to 5 do
  22. if i=j then t2[i,j]:=0
  23. else t2[i,j]:=1;
  24. end;
  25. (* fin de l'existance d'un chemin entre 2 villes *)
  26. (* remplir le deusime matrice avec les distances entres les villes *)
  27. t[0,0]:='           ';
  28. t[0,1]:='annaba     ';
  29. t[0,2]:='constantine';
  30. t[0,3]:='setif      ';
  31. t[0,4]:='jijel      ';
  32. t[0,5]:='tebessa    ';
  33. t[1,0]:='annaba     ';
  34. t[2,0]:='constantine';
  35. t[3,0]:='setif      ';
  36. t[4,0]:='jijel      ';
  37. t[5,0]:='tebessa    ';
  38. for i:=1 to 5 do
  39. begin
  40. for j:=1 to 5 do
  41. if i=j then t[i,j]:='0          ';
  42. end;
  43. t[2,1]:='156        ';
  44. t[3,1]:='287        ';
  45. t[4,1]:='255        ';
  46. t[5,1]:='227        ';
  47. t[1,2]:='156        ';
  48. t[3,2]:='131        ';
  49. t[4,2]:='146        ';
  50. t[5,2]:='198        ';
  51. t[1,3]:='287        ';
  52. t[2,3]:='131        ';
  53. t[4,3]:='146        ';
  54. t[5,3]:='329        ';
  55. t[1,4]:='255        ';
  56. t[2,4]:='146        ';
  57. t[3,4]:='137        ';
  58. t[5,4]:='344        ';
  59. t[1,5]:='227        ';
  60. t[2,5]:='198        ';
  61. t[3,5]:='329        ';
  62. t[4,5]:='344        ';
  63. for i:=0 to 5 do
  64. begin
  65.   for j:=0 to 5 do
  66.   write(t[i,j],' ');
  67. writeln;
  68. end;
  69. (* fin de remplir la deusime matrice avec les distances entres deux villes *)
  70. readkey;
  71. end.


 
 
j'ai un soucis sur le chemins le plus court entre 2 villes .
svp aidez moi .
donnez moi des idées ...et si vous pouvez des améliorations .
 
merci d'avance.

Reply

Marsh Posté le 05-05-2009 à 21:57:10   

Reply

Marsh Posté le 08-05-2009 à 10:40:17    

Hello sparklegi
 
Dans ton script  
 
t2[0,1]:=23;
...
t2[1,0]:=23;
...
 
ça représente quoi comme information ce 23 par exemple ?
 


---------------
il n'y a pas que le VTT dans la vie, il y a le Snowboard aussi ...
Reply

Marsh Posté le 08-05-2009 à 14:07:06    

"23" ...ca represente le code postale de la ville ...
je veut savoir si y a t-il une méthode pour remplir une matrice symetrique ..tel que une ligne remplis ds la matrice et je veut affecter ces valeurs a la colonne qui a le meme indice de la ligne ...merci de votre aide

Reply

Marsh Posté le 08-05-2009 à 14:27:47    

Pour remplir une matrice diagonale tu peux faire un truc du genre

Code :
  1. for i:=1 to 5 do begin
  2.     for j:= i to 5 do begin
  3.         t[i,j] = valeur;
  4.         t[j,i] = valeur;
  5.     end
  6. end


 
Ou alors t'en rempli que la moitié (plus la diagonale), et au moment de lire t[i, j] si j>i alors tu inverse i et j (ie. tu lis t[j, i]).
 
Pour le chemin le plus court c'est pas vraiment un problème simple. Vu que tu n'as que 5 villes tu dois peut etre juste tester tous les chemins possibles comme une brute et renvoyer le plus court ?


---------------
Nous vous souhaitons de beaux rêves, c'est le cinéma gratuit.
Reply

Marsh Posté le 08-05-2009 à 15:05:35    

à la brutos sans doute ;-)
 
Dans son énoncé  
il est précisé de donner  
=>
"tout les chemins entre 2 villes en précisant les differentes distances "


---------------
il n'y a pas que le VTT dans la vie, il y a le Snowboard aussi ...
Reply

Marsh Posté le 03-11-2009 à 22:03:18    

je t'aime

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed