Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Lösungswert mit Array vergleichen, Differenz anzeigen (https://www.delphipraxis.net/123522-loesungswert-mit-array-vergleichen-differenz-anzeigen.html)

Sudrow 3. Nov 2008 19:12


Lösungswert mit Array vergleichen, Differenz anzeigen
 
Gutan Abend, das hier ist mein Quelltext
Delphi-Quellcode:
 var notenpunkte : array[0..30] of array [0..1] of Integer = (
(300,300),(301,318),(319,336),(337,354),(355,372),(373,390),(391,408),(409,426),(427,444),(445,462),
(463,480),(481,498),(499,516),(517,534),(535,552),(553,570),(571,588),(589,606),(607,624),(625,642),
(643,660),(661,678),(679,696),(697,714),(715,732),(733,750),(751,768),(769,786),(787,804),(805,822),(823,900) );
Wenn ich nun einen Wert bekomme, z.b 551 würde ich gern das im Array gelesen wird wo die 551 liegt und er eweils sagt wie viele zu vorherigen Zahl fehlen, bzw zur nächsten.
Also im Beispiel das er dann sagt 1 Punkt zur nächsten, 16 Punkte zur schlechteren.

Ich hoffe ihr versteht mich.

Wie könnt ich das nun auslesen und anzeigen lassen?

mfg Sudrow

dominikkv 3. Nov 2008 19:23

Re: Lösungswert mit Array vergleichen, Differenz anzeigen
 
Delphi-Quellcode:
gefunden := False;
for I := 0 to 30 do
  if meinwert in [notenpunkte[I, 0]..notenpunkte[I, 1]] then    
    begin
      gefunden := True;
      Break;
    end;
if gefunden then
  showmessage(Format('Die Zahl %d befindet sich in meinem Array an %dter Stelle und ist %d Ziffern vom unteren und %d Ziffern vom oberen Element entfernt.', [meinwert, Succ(I), meinwert - notenpunkte[I, 0], notenpunkte[I, 1] - meinwert])) else
  showmessage(Format('Die Zahl %d kommt leider nicht in meinem Array vor!', [meinwert]));

Klaus01 3. Nov 2008 19:29

Re: Lösungswert mit Array vergleichen, Differenz anzeigen
 
Guten Abend,

zwei Vorschläge:

Delphi-Quellcode:
i:=0;
while not ((notenpunkte[i,0] >= punkte ) and (notenpunkte[i,1] <= punkte)) do
  inc(i);

// ausgabe Punkteanzahl liegt im Bereich i
oder

Delphi-Quellcode:
for i:=0 to 30 do
  begin
    if (notenpunkte[i,0] >= punkte ) and (notenpunkte[i,1] <= punkte) then
      begin
        // Ausgabe das Punkte in dem Bereich i
        break;
      end;
  end;
Grüße
Klaus

Sudrow 3. Nov 2008 19:43

Re: Lösungswert mit Array vergleichen, Differenz anzeigen
 
Vielen Dank, es funktioniert endlich :)
Dankeschön


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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