AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bubblesort Problem

Ein Thema von GreyFox23 · begonnen am 4. Okt 2015 · letzter Beitrag vom 9. Mär 2018
Antwort Antwort
Seite 4 von 7   « Erste     234 56     Letzte »    
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#31

AW: Bubblesort Problem

  Alt 7. Mär 2018, 14:02
Zitat:
Ehrlich gesagt, habe ich Dein Problem bis jetzt nicht verstanden.
Ist auch schwierig zu verstehen.. bzw. schwer zu erklären ohne das man das Projekt in Aktion sieht.
Nun, es ist wohl eher ein Problem, eine genaue Reihenfolge zu definieren.

Ein Bubblesort-Problem, wie die Überschrift ankündigt, ist es sicher nicht. Dieser Sortieralgorithmus ist nämlich so simpel, daß sich nahezu immer jemand im Forum findet, beim bloßen Anblick des Quellcodes den Fehler zu entdecken.

Ist die gewünschte Reihenfolge erstmal klar, kann man nämlich (nahezu) jeden Sortieralgorithmus auf jedes Sortierproblem loslassen.

Kurz gesagt die Objekte werden in der Reihenfolge (ZOrder) nicht richtig gezeichnet.
Und, bist Du Dir sicher, daß es daran liegt, daß die definierte bzw. gewünschte Reihenfolge nicht der tatsächlichen enspricht?
  Mit Zitat antworten Zitat
madas

Registriert seit: 9. Aug 2007
207 Beiträge
 
#32

AW: Bubblesort Problem

  Alt 7. Mär 2018, 14:15
Lös dein Problem doch erstmal auf Papier, dann kann man über eine Umsetzung reden.
Versuche es gerade mit Pappe.
Oder sollte ich vielleicht doch Papier nehmen.. Hmmm
Sehe schon komme hier nicht weiter aber wird schon vielleicht bekomme ich noch einen Geistesblitz.

gruss
Meinst Du mit Z-Index sowas hier?
Wenn Du Dir nun z.B. durch die beiden Kugel mit Z-Index 0 drauf die X-Achse denkst,
sollten alle Kugeln mit einem Y-Wert größer 0 einen negativen bzw. kleinen Z-Index bekommen
und alle Kugeln mit einem Y-Wert kleiner 0 einen positiven bzw. hohen Z-Index.
Nun sollte Dir auffallen, dass Du als Z-Index auch einfach den gleichen Wert, wie für den
der Y-Achse nehmen kannst bzw. den negierten Wert davon.

Beispiel (X, Y):

rote Kugel hat die KOs (50, -25), dann wäre der Z-Index einfach 25.
links orange hat die KOs (25, -12,5), dann wäre der Z-Index einfach 12,5.
links gelb hätte die KOs (8, 0), dann wäre der Z-Index einfach 0.
links mint-grün hätte (25, 17), dann wäre der Z-Index -17.
hinten türkis hätte (50, 25), dann wäre der Z-Index einfach -25.

usw.

hängt davon ab, wie Dein KO-System gestrickt ist.

madas
Miniaturansicht angehängter Grafiken
z-index.png  
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#33

AW: Bubblesort Problem

  Alt 7. Mär 2018, 14:23
Genau so soll es sich drehen (bzw. die Anordnung sein) wie in deinem Bild gezeigt
Na ja werde mal schaun habe noch andere Baustellen.

gruss

Geändert von EWeiss ( 7. Mär 2018 um 17:21 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#34

AW: Bubblesort Problem

  Alt 8. Mär 2018, 14:27
Zitat:
Ist die gewünschte Reihenfolge erstmal klar, kann man nämlich (nahezu) jeden Sortieralgorithmus auf jedes Sortierproblem loslassen.
Leicht dahin gesagt..

Meine Reihenfolge wird in dem Quelltext definiert.
Welche werte dann im einzelnen entstehen ist abhängig von der Berechnung. (Position der Sprites im Raum)
Noch deutlicher kann man es nicht zeigen.

Wenn deine Aussage zutrifft "(nahezu) jeden" dann frage ich mich warum es dann nicht funktioniert.
Werde mich damit nochmal auseinandersetzen wenn ich meine anderen Baustellen beseitigt habe.

Die Realität ist nicht gleichzusetzen mit Vermutungen!

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#35

AW: Bubblesort Problem

  Alt 8. Mär 2018, 14:35
Das Sortieren funktioniert vollkommen korrekt, entsprechend deinem Vergleichskriterium.

Da arbeiten alle Sortieralgorithen erstmal gleich.
Einen Unterschied gibt es nur beim Tempo, der Anzahl der Vergleiche, der Anzahl der Verschiebungen/Tauschungen und ob das Sortieren "gleicher" Werte stabil ist.

stabil = gleiche Werte bleiben in gleicher Reihenfolge.
-> Frank mit 10 Punkten war vor Thomas mit 10 Punkten und ist es nach dem Sortieren immernoch
Und nur auf dieses "stabil" bezog sich das "nahezu",

Wie dein Vergleich arbeitet, das musst du definieren und auch "richtig" implementieren
und schon funktioniert es auch.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#36

AW: Bubblesort Problem

  Alt 8. Mär 2018, 14:39
Hallo,

Delphi-Quellcode:
for i:=0 to high(numbers)-1 do
begin
  for k:=i+1 to high(numbers) do
  begin
    if numbers[i]>numbers[k] then
    // Tausche
Um noch mal auf die Grundfrage zu kommen.

Bau dir doch mal ein paar Beispiel numbers Arrays und teste deinen Sortieralgorithmus.

Also: Unit-Test
Heiko
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#37

AW: Bubblesort Problem

  Alt 8. Mär 2018, 14:47
Zitat:
Wie dein Vergleich arbeitet, das musst du definieren und auch "richtig" implementieren
Nach meinem Verständnis ist es richtig implementiert.
Siehe den Codeabschnitt.

Ich sehe kein Kriterium im Quelltext der dem widerspricht.

gruss
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#38

AW: Bubblesort Problem

  Alt 8. Mär 2018, 14:54
Zitat:
Wie dein Vergleich arbeitet, das musst du definieren und auch "richtig" implementieren
Nach meinem Verständnis ist es richtig implementiert.
Siehe den Codeabschnitt.

Ich sehe kein Kriterium im Quelltext der dem widerspricht.

gruss
Hast du denn mal die Variablen Angle, AnglePi und zorder[K] geloggt?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#39

AW: Bubblesort Problem

  Alt 8. Mär 2018, 15:03
Zitat:
Wie dein Vergleich arbeitet, das musst du definieren und auch "richtig" implementieren
Siehe den Codeabschnitt.
Welchen?

Antwort #6 ... joar, stimmt soweit.



Delphi-Quellcode:
for i := 0 to High(numbers)-1 do
  for k := i+1 to High(numbers) do
    if numbers[i] > numbers[k] then
      Tausche(i, k)
Das if ... then musst du natürlich noch richtig implementieren, denn was man hier aus dem Wirrwarr rauslesen kann, ist dein Vergleich ein scheinbar bissl "anders".



Die Generics gibt es schon seit 2009 und 2010 ging es dann "besser".
k.A. ob Delphi-Referenz durchsuchenGenerics.Collections.TArray.Sort bei dir schon verfügbar ist.
fand es nicht, aber in der Hilfe fehlte damals auch noch Vieles http://docwiki.embarcadero.com/RADSt...ulltext=Search
Aber auch hier, musst du den Vergleich anpassen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#40

AW: Bubblesort Problem

  Alt 8. Mär 2018, 15:05
Zitat:
Wie dein Vergleich arbeitet, das musst du definieren und auch "richtig" implementieren
Nach meinem Verständnis ist es richtig implementiert.
Siehe den Codeabschnitt.

Ich sehe kein Kriterium im Quelltext der dem widerspricht.

gruss
Hast du denn mal die Variablen Angle, AnglePi und zorder[K] geloggt?
Nein.
Was mit jetzt ein Log da bringen würde entschließt sich mir.
Aber wie gesagt bin bereit jemanden das Projekt zu schocken damit er es mal testen kann.
Was nicht bedeuten soll das er meine Arbeit tun soll

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 7   « Erste     234 56     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz