Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Werte im array vergleichen (https://www.delphipraxis.net/105741-werte-im-array-vergleichen.html)

BMX 28. Dez 2007 19:51


Werte im array vergleichen
 
Hi,
kann mir jemand sagen wie ich die Werte eines Arrays miteinander vergleiche?
Habe bisher wenig nützliches gefunden. Ich stelle es mir so vor das ich den wert z.B. p[1] mit p[2] vergleiche und dann p[1] mit p[3] und so weiter. Dann p[2] mit p[3]......
Dann muss ich aber zu viel tippen. Kann man das denn nicht Algemeiner schreiben.

mkinzler 28. Dez 2007 19:53

Re: Werte im array vergleichen
 
In einer Schleife. aber wäre vielleicht wäre ein Sortieralgorithmus in diesem Fall auch nicht fehl am Platz (QuickSort, BubbleSort, ShellSort, ...)

DeddyH 28. Dez 2007 19:57

Re: Werte im array vergleichen
 
Nimm doch 2 verschachtelte Schleifen.

BMX 28. Dez 2007 20:03

Re: Werte im array vergleichen
 
hmmm schleife wäre glaube ich besser. ich weiß nicht wie das mit ner schleife gehen soll. kannst du mir ein tipp geben? mit einer for schleife villeicht? könnt ihr mir ein bsp. geben?

mkinzler 28. Dez 2007 20:05

Re: Werte im array vergleichen
 
Was soll durch den Vergleich ermittelt werden?

DeddyH 28. Dez 2007 20:06

Re: Werte im array vergleichen
 
Jepp.
Delphi-Quellcode:
for i := Low(array) to High(array) do
  for j := Low(array) + 1 to High(array) do
    vergleichen(array[i],array[j]);
So in etwa.

[edit] Nicht ganz, nach kurzem Nachdenken:
Delphi-Quellcode:
for i := Low(array) to High(array) - 1 do
  for j := Low(array) + 1 to High(array) do
    vergleichen(array[i],array[j]);
[/edit]

BMX 28. Dez 2007 20:09

Re: Werte im array vergleichen
 
durch den vergleich soll ermittelt werden ob werte im array gleich sind.

BMX 28. Dez 2007 20:17

Re: Werte im array vergleichen
 
var p:array[1..500] of integer;
g,,s,l:integer;
begin
s:=0;
for l:=1 to 500 do
p[l]:=random(365)+1;
if ? ? then inc(s);....

wie mache ich diese verschachtelte schleifen hier?

DeddyH 29. Dez 2007 13:11

Re: Werte im array vergleichen
 
Delphi-Quellcode:
 var p:array[1..500] of integer;
    g,s,l:integer;
begin
  s:=0;
  for l:=1 to 500 do
    p[l]:=random(365)+1;
  for l := 1 to 499 do
    for g := l + 1 to 500 do
      if p[l] = p[g] then
        ShowMessage('2 Gleiche gefunden');
end;
Du wirst übrigens immer Gleiche finden ;)

Die Muhkuh 29. Dez 2007 13:36

Re: Werte im array vergleichen
 
Zitat:

Zitat von DeddyH
Delphi-Quellcode:
for i := Low(array) to High(array) - 1 do
  for j := Low(array) + 1 to High(array) do
    vergleichen(array[i],array[j]);

Und wenn wir es so machen, sparen wir uns noch ein paar Vergleiche:

Delphi-Quellcode:
for i := Low(array) to High(array) - 1 do
  for j := i + 1 to High(array) do
    vergleichen(array[i],array[j]);
;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr.
Seite 1 von 2  1 2      

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