Delphi-PRAXiS
Seite 6 von 7   « Erste     456 7      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++ 2 Arrays vergleichen\sortieren (https://www.delphipraxis.net/194449-2-arrays-vergleichen%5Csortieren.html)

EWeiss 24. Nov 2017 12:47

AW: 2 Arrays vergleichen\sortieren
 
Zitat:

Du bist - wie du selber betonst - halt Laie und manche Feinheiten sind dir fremd oder unverständlich (C++-Char -> Delphi-Byte, Größen von Datentypen, Operator-Überladung, Zeigerarithmetik...etc.).
Richtig dessen schäme ich mich nicht.

Aber wenn ich jede mir bekannte API in ihre Bestandteile zerlegen würde hätte ich keine zeit mehr für andere Dinge :)

gruss

TiGü 24. Nov 2017 13:08

AW: 2 Arrays vergleichen\sortieren
 
Zitat:

Zitat von EWeiss (Beitrag 1387087)
Zitat:

Du bist - wie du selber betonst - halt Laie und manche Feinheiten sind dir fremd oder unverständlich (C++-Char -> Delphi-Byte, Größen von Datentypen, Operator-Überladung, Zeigerarithmetik...etc.).
Richtig dessen schäme ich mich nicht.

Aber wenn ich jede mir bekannte API in ihre Bestandteile zerlegen würde hätte ich keine zeit mehr für andere Dinge :)

gruss

Bei den unnötigen Wust an Quelltext, den du eh schreibst, fällt das nicht weiter ins Gewicht.
Und vielleicht machst du es nur da, wo du Probleme hast. Egal ob Verständnis-, Compiler- oder Laufzeitprobleme.

EWeiss 24. Nov 2017 15:58

AW: 2 Arrays vergleichen\sortieren
 
Zitat:

for K := 0 to Count do // Warum nicht Count-1? Wenn z.B Count 1 ist kopierst Du 2 Einträge?
Weil dann 1 Eintrag fehlt?

Das höchste Array Element ist "13" UB

Die Einträge gehen von 0 - 13 = 14 Einheiten
12 für meine Bilder und 2 für den linken und rechten Pfeil zum scrollen.

Würde ich jetzt (Count - 1) = 13 Einheiten nehmen würde mir der rechte Pfeil fehlen.

Zitat:

buffer[K] := A2[K]; // Warum das Pointer geschubse? Einfach zuweisen was anderes macht der C Code auch nicht
Gute Idee möchte aber MoveMemory behalten wegen der Kompatibilität zum original source so kann ich eventuelle Fehler besser analysieren.

gruss

Neutral General 24. Nov 2017 17:06

AW: 2 Arrays vergleichen\sortieren
 
Zitat:

Zitat von EWeiss (Beitrag 1387109)
Zitat:

for K := 0 to Count do // Warum nicht Count-1? Wenn z.B Count 1 ist kopierst Du 2 Einträge?
Weil dann 1 Eintrag fehlt?

Das höchste Array Element ist "13" UB

Die Einträge gehen von 0 - 13 = 14 Einheiten
12 für meine Bilder und 2 für den linken und rechten Pfeil zum scrollen.

Würde ich jetzt (Count - 1) = 13 Einheiten nehmen würde mir der rechte Pfeil fehlen.

:?

Wie du schon gesagt hast:
14 Einheiten :arrow: Count = 14
Einträge gehen von 0-13 (13 = 14-1 = Count-1 :!:)

Deine Schleife geht aber von 0-14 (Count)
Eintrag 14 existiert nicht. Und das ist schlecht.

Ich hoffe du bist grad nur etwas verwirrt :gruebel:
Das ist etwas was man wissen sollte sobald man for-Schleifen gemeistert hat.

Fritzew 24. Nov 2017 17:14

AW: 2 Arrays vergleichen\sortieren
 
Zitat:

Zitat von EWeiss (Beitrag 1387109)
wegen der Kompatibilität zum original source so kann ich eventuelle Fehler besser analysieren.

Der war jetzt gut ;-) Hätte nicht gedacht das Du so viel Humor hast..............

EWeiss 24. Nov 2017 17:28

AW: 2 Arrays vergleichen\sortieren
 
Zitat:

14 Einheiten Count = 14
Nein der Count ist 13.
Und die schleife von 0 > High(UB) = 13 (14 Einheiten incl. der 0)

Mano. Muss ich jetzt noch ein Bild posten ?
Wenn es so wäre wie du sagst hätte es hier schon lang gekracht.
Auf ein nicht existierendes Element eines Arrays zuzugreifen macht AUA..

gruss

LTE5 24. Nov 2017 17:35

AW: 2 Arrays vergleichen\sortieren
 
Ich muss gestehen, wenn ich Arrays durchgehe, dann immer von Low bis High.
Und wenn nicht, dann nutze ich Length(arr) - 1. Wo kommt denn Count her?

EWeiss 24. Nov 2017 17:40

AW: 2 Arrays vergleichen\sortieren
 
hmmm...

gruss

Neutral General 24. Nov 2017 17:56

AW: 2 Arrays vergleichen\sortieren
 
Zitat:

Zitat von EWeiss (Beitrag 1387119)
Zitat:

14 Einheiten Count = 14
Nein der Count ist 13.
Und die schleife von 0 > High(UB) = 13 (14 Einheiten incl. der 0)

Mano. Muss ich jetzt noch ein Bild posten ?
Wenn es so wäre wie du sagst hätte es hier schon lang gekracht.
Auf ein nicht existierendes Element eines Arrays zuzugreifen macht AUA..

gruss

Sorry :oops:
Du hast Recht. Hab nicht gesehen dass Count = High(g_Obj) ist.
Ist also nur etwas unüblich aber nicht falsch. :thumb:

EWeiss 24. Nov 2017 17:57

AW: 2 Arrays vergleichen\sortieren
 
Noch ein paar Pic's zur Beruhigung.
Aber ich werde es trotzdem noch ändern auch wenn es so stimmt.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:27 Uhr.
Seite 6 von 7   « Erste     456 7      

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