malhivertman1
Messages postés489Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention22 novembre 2007
-
2 févr. 2005 à 10:52
malhivertman1
Messages postés489Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention22 novembre 2007
-
3 févr. 2005 à 11:26
En fait, je dois effectuer un projet pour ma fin d'anné et je ni compren rien du tout
Alors il s'agit de concevoir un programme qui recherche le chemin le plus court
dans une matrice 2D genre 50*50 entre deux points.
En fait cette matrice s'assimile à une carte geographique, les numero de lignes
et colonnes representant les coordonnées des points et la valeur des
coefficients de la
matrice represente l'attitude du point considéré.
La matrice sera représentée graphiquement par une grille dont la couleur des
cases sera fonctions de l'altitude du point (bleu clair si
altitude=(0,100metres), bleu foncé si alt=(101,200metres), orange si
alt=(201,300metres),etc...pour une altitude allant jusqu'a 1000 metres par
exemple.
L'utilisateur devra pouvoir choisir sur cette grille les points de départ et
d'arrivé, il pourra aussi choisir un point de passage obligatoire et après
avoir lancé le calcul pourra visualiser le chemin le plus court (les cases
représentant des points de passage seront noircies par exemple)
La programmation doit etre réalisé en Delphi et doit utiliser des objets.
Merci d'avanc a celui ki poura m'aidé car ce né vrémen pa simpl
Mon adress e-mail c [mailto:malhivertman1@hotmail.com malhivertman1@hotmail.com]
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 2 févr. 2005 à 16:47
Je te propose une idée:
program ShortestPath;
interface const MatriceDim : byte = 49;
type
TRelief = (trNone, trPlaines, trMontagnes);
TAltDonnees = record
Altitude : integer;
Relief : TRelief;
end;
T1DMatrice = array[0..MatriceDim] of TAltDonnees;
var Matrice : array[0..MatriceDim] of T1DMatrice; //on passe à 2 dimensions
x, y : integer;
implementation begin //INITIALISATION
for x:= 0 to MatriceDim do
for y: =0 to MatriceDim do
begin Matrice[x][y].Altitude:= 0;
Matrice[x][y].Relief:=trNone;
end ;
(* Pour traiter les infos, tu refais ce même genre d'inclusion *)
end.
J'ai essayé de te montrer des techniques. Mais comme le Pascal est fortement typé, avant de faire du Delphi, si tu n'y comprend rien de rien, regarde déjà un peu des livres sur le Turbo Pascal. Ils sont didactiques, car Turbo Pascal est très peu vaste et tu apprendras les types énumérés, les tableaux, les variables, sans se perdre dans des considération graphiques qui ne devront venir qu'après.
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20082 2 févr. 2005 à 21:50
La matrice, c'est pas cela le problème.
Cela servira juste a savoir l'altitude le la case et son relief.
Regarde le code de Grandvizir qui explique si bien la chose.
Par contre, utiliser des objets, cela ne va pas etre facile. Je ne vois pas là où en aurait besoin. Sauf peut-être dans l'algorithme qui calcule le chemin.
Et surtout ,la question est : à quoi sert l'altitude et le relief ? Faut-il eviter
les montagnes et préferer les cols peu élevés ? Ou est-ce pour
contourner la mer ou autres obstacles ?
@ ++ Flo
Si tu ne te plantes pas ......
tu ne poussera jamais
malhivertman1
Messages postés489Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention22 novembre 20071 3 févr. 2005 à 11:26
Ben disons ke si c sur une interface genre carte géographique, je pens kil faudré evité de passé par la montagne et pk pa proposé un choix comm par exempl :
-chemin le plus court a vol d'oiseau
-chemin le plus court par la route ou des truc comm ca