Dijkstra Algorithmus?
-
in der letzten zeile^^ müssen die klammern wech.
-
Hallo...ich hab grad ein Problem beim Umschreiben...
Wie könnt ich die Zeile Umschreiben:
h(RND * (anz - 1) + 1) = 1
???
-
ich tippe auf:
h[rand() * (anz - 1) + 1] = 1;
-
FALSCH ^^
der Lehrer hat gesagt:
h[rand() % (anz - 1) + 1] = 1;
Endlich kann ich mein wcIII clon weitermachen ^^
-
'*' heisst auch in BASIC 'multipliziere' und nicht 'berechne den rest' wie '%'.
-
so funktionierts aber..^^
Außerdem hab ich ihn jetzt, auch wenn das doof ist, da ich das erst in 1d umrechnen muss und dann wieder in 2d... Oder hat jemand den algorithmus für 2d? glaub kaum ^^
Danke für die Hilfen....
-
CaPGeti schrieb:
so funktionierts aber..^^
Außerdem hab ich ihn jetzt, auch wenn das doof ist, da ich das erst in 1d umrechnen muss und dann wieder in 2d... Oder hat jemand den algorithmus für 2d? glaub kaum ^^
Danke für die Hilfen....Ich habe kaum eine Ahnung, was du mit 1d oder 2d meinst. Ich glaube aber,
du meinst 1- oder 2-dimensional.Du glaubst kaum, dass jemand den Algorithmus für 2 Dimensionale Probleme hat?!
Da muss ich dich aber enttäuschen. Der Algorithmus ist für beliebige Graphen
definiert. Hier kommt es nicht auf die "Dimension" an.Du solltest vielleicht doch einmal überlegen, ob du dir den Algorithmus mal
komplett anschaust und versuchst ihn zu verstehen. Eigentlich ist der total
simple. Es ist kein Problem, diesen zu implementieren.Hier noch einmal zwei Links (von der deutschen Wikipedia-Seite), wo sehr
anschaulich der Algorithmus beschrieben ist:
http://algo2.iti.uni-karlsruhe.de/singler/algorithmus-der-woche/Kuerzeste Wege.pdf (nimm die gesamte URL! der Link geht so nicht. K.A. warum)http://www.mcgods.de/fun/1904/node8.html
Gruß mcr
-
mhh.... ich glaub ich versteht mich nicht....
ich mein, man muss ja irgentwie die y und x Koordinate übergeben und neu berechnen lassen, damit das "männl" dann auf den Bildschirm langläuft...
Jetzt hab ich das so, das ich die y und x koordinate übergebe, dann ich die zwei werte als eine dimension umrechne:iPosition= iY*80+1+iX;
und dann bei der ausgabe wieder umrechne:
y = iPosition / dy + 1; x = iPosition % dy + 1;
wisst ihr jetzt was ich mein??
-
CaPGeti schrieb:
mhh.... ich glaub ich versteht mich nicht....
ich mein, man muss ja irgentwie die y und x Koordinate übergeben und neu berechnen lassen, damit das "männl" dann auf den Bildschirm langläuft...Ich weiß jetzt nicht, was du für den Dijkstra-Algorithmus hältst, aber mit rumlaufenden Männchen hat das nichts zu tun. Der Dijkstra-Algorithmus findet in einem gewichteten Graphen die kürzesten Pfade von einem Startknoten zu allen anderen Knoten.
-
ach vergisst es....
Startknoten = aktuelle position
Zielknoten = dort wo es sich befinden sollaber egal...muss ich mal woanders gucken....