![]() |
Delphi-Version: 7
Hilfe bei der Sortierung von Zahlen
Hi,
ich brauche mal etwas Hilfe bei der Sortierung von Zahlen unter der Berücksichtigung von Überschneidungen. Ausgangssituation sind zwei arrays belibiger Länge mit verschiedenen Zahlenspannen. Array1[0] := 10 Array2[0] := 15 ....... Nun sollen diese Wert grafisch so gezeichnet werden, dass es keine Überschneidungen der Linien gibt.
Delphi-Quellcode:
Das Grafik kann man sich als eine Art Zeitstrahl vorstellen.
------ ---------
-------- ----------- Mein aktueller Ansatz sah so aus:
Delphi-Quellcode:
Das ganze funktioniert allerdings nur solange es auch die passende Anzahl an Linienebenen gibt.
for i := 0 to length(Array1) - 1 do
begin for y := 0 to i - 1 do begin // Wenn überschneidung von Zwei Werten auf einer Linie eintritt if Array1[i] <= (Array1[y] + Array2[y]) then inc(count); end; // Hier zeichnen count := 1 end;
Delphi-Quellcode:
Diese Linie würde mit obigem Code nichtmehr passend gezeichnet werden, da die Linie von 2 weiteren geschnitten wird. inc(count) würde 2x aufgerufen werden somit steht count auf 3 die markierte Linie würde also überlappend mit der dritten Linie gezeichnet werden. Eigentlich soll sie aber in der ersten Linie wie oben gezeichnet liegen, da sie in der Linie ja momentan nicht geschnitten wird.
----- -------- <..... [*Siehe beschreibung]
------ --------- Jemand einen Ansatz ? |
AW: Hilfe bei der Sortierung von Zahlen
Hi,
konnte mein Probkem gerade mithilfe eines Arrays welches die Ebenen und dazu die Zeiten zum vergleichen aufnimmt lösen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz