Hi ich schreibe an einem lernprogramm für den dijkstra algorithmus und habe nun folgendes problem:
Ich habe das programm so gestaltet, das das programm, sobalt der benutzer den startknoten (wovon der dijkstra/ die kürzesten wege berechnen soll)eingegeben hat, die Kürzestenwege zu allen anderen knoten berechnet werden. Diese lösungen hab ich , damit ich eine vergleichsmöglichkeit habe in ein 2 dimensionales array gespeichert,
also 1. lösungsschritt alge, in erste spalte des arrays usw.
am beispiel läst sich mein problem vielleicht besser erklären siehe bild imanhang.
Also der algoritmus hat die volgende lösungsmatrix erstellt:
inf:=00 bedeutet unendlich, unterstrich(_) bitte ignorierren, hab sie nur gesetzt,damit
die tabelle so bleibt wie sie sein soll!
1|_2|_3|_4|_5|_6|
-----------------
00|0|00|_1|00|00|
_2|0|00|_1|00|00|
_2|0|00|_1|10|00|
_2|0|00|_1|_7|00|
_2|0|00|_1|_7|14|
_2|0|_3|_1|_7|14|
_2|0|_3|_1|_4|11|
so sieht die tabelle bzw das zwei dimensionale array aus, nachdem der algorithmus schritt für schritt den dijkstra durchlaufen ist!
nun zum eigentlichen problem-> dem Benutzer
Nun soll der benutzer seine lösung über einen stringgrid eingeben (und zwar schrittweise)
Nun und da schliesse ich mich nicht aus ich würde die schritte 1-3 zu einer eingabe zusammenfassen:
1|_2|_3|_4|_5|_6|
-----------------
_2|0|00|_1|10|00|< benutzer gibt diese werte über ein stringgrid ein
und damit sozusagen gleich zu schritt vier übergehen (das währe ja eigentlich auch in ordnung!) nur wie stelle ich dann den vergleich an,
denn wenn ich im moment das abprüfe sagt er immer "fehler", da er diese eingabe mit schritt 1 vergleicht ?
ich müste sagen(pseudocodeähnlich) n=anzahl der knoten)
Für i:=1 bis n führe aus
für j:=1 bis n führe aus
Wenn Benutzereingabe(komplettes eingabe stringgrid)[j]=irgendeinerstelle
(Losungsmatrix[i,j] dann eingabe in odnung, wenn nicht dann fehlermeldung
in anderen worten kommt die benutzer eingabe in der lösungsmatrix vor ist alles ok,
(weil ich davon ausgehen kann das der Dijkstra immer nur eine lösung hat!)
dann label grün, wenn nicht ein galgenmändchen strich hinzu un label rot!
oh nochwas weiss jemand von euch, wie ich bei einem stringgrid die eingabe auf z.B maximallänge 1 begrenze (wie es bei einem memo mögöich ist?
bitte helft mir wenn ihr könnt grosses danke!
wenns geht mit verwendbarem code