Navigatiesysteem programmeren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedendag,

Ik wil graag een navigatiesysteem maken wat het te rijden route retourneert op grond van een begin- en eindpunt.

Dit is de data:

code:
1
2
3
A1 # Amsterdam 36 Hilversum 25 Amersfoort 51 Apeldoorn 20 Deventer
A2 # Amsterdam 44 Utrecht 54 Den Bosch 33 Eindhoven
A12 # Zevenaar 22 Arnhem 30 Ede 46 Utrecht 39 Gouda 20 Zoetermeer


Eerste waarde is de snelwegnaam, dan zie je de steden die op die snelweg liggen, met onderlinge aftstanden.

Als je bijvoorbeeld van Amsterdam naar Deventer wil, dan dient de app het volgende te retourneren:
code:
1
Volg A1: Amsterdam, Hilversum, Amersfoort, Apeldoorn, Deventer

Als je bijvoorbeeld van Amsterdam naar Zoetermeer wil, dan dient de app het volgende te retourneren:
code:
1
2
Volg A2: Amsterdam, Utrecht
Volg A12: Utrecht, Gouda, Zoetermeer


Wanneer de twee steden op één regel staan, dan kan ik simpelweg met een loop langs alle regels, en controleren of beide inputs toevallig op die regel voorkomen, en dan alle steden daar tussen staan, retourneren.

Het probleem is echter het tweede, dus wanneer je gebruik moet maken meerdere snelwegen. De omschakeling van Utrecht op A2, en dan de weg vervolgen op Utrecht vanaf de A12, lukt me maar niet om het logisch te implementeren, en daar heb ik jullie hulp bij nodig.

Gelieve geen code voorschotelen, ik wil dit volledig zelf gecodeerd hebben. Maar een duw in de goede richting inzake 'hoe ik er over moet denken' en uitleg van de logica erachter zou ik erg op prijs stellen.

Ik kijk uit naar jullie feedback.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op zaterdag 26 november 2011 @ 13:20:
Gelieve geen code voorschotelen, ik wil dit volledig zelf gecodeerd hebben. Maar een duw in de goede richting inzake
Als je eens begint om voor jezelf, in pseudocode, op te schrijven hoe 't volgens jou zou moeten werken. Mocht dat niet werken dan post je die pseudocode en kunnen wij je wel vertellen waar 't mis gaat.
Verwijderd schreef op zaterdag 26 november 2011 @ 13:20:
'hoe ik er over moet denken' en uitleg van de logica erachter zou ik erg op prijs stellen.
De crux van deze oefening, want vertel me alsjeblieft dat 't dat is, lijkt me nou juist dat je die logica zelf ontdekt. Of ga je me vertellen dat dit een real-world opdracht is die een bruikbaar systeem moet opleveren?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Flard
  • Registratie: Februari 2001
  • Laatst online: 18-09 22:09
Mijn opleiding ligt alweer een tijdje achter me, maar ik zou eerst eens gaan kijken wat grafen zijn, en hoe je die in jouw programmeertaal kunt/wilt gebruiken.
Vervolgens ga je op zoek naar een algoritme wat je kan helpen de kortste afstand tussen twee punten in je graaf te vinden. En ik gok dat het algoritme van Dijkstra daarbij een goed begin is.

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Tsja, navit ofzo? :p

Anyway, het al genoemde algoritme van Dijkstra ligt hier natuurlijk zeer voor de hand. De eerste stap is de boel omschrijven naar iets dat wel bruikbaar is, dus een reverse index, zoiets als:

AmsterdamA1 Hilversum 36, A2 Utrecht 44
HilversumA1 Amsterdam 36, A1 Amersfoort 51

enz.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten