![]() |
Re: Wo höchstes Wachstum, wo geringstes?
Delphi-Quellcode:
Das setzt doch voraus, dass ich eine Untergrenze und eine Obergrenze habe (gesuchte Untergrenze/Obergrenze). Aber die möchte ich doch ausrechnen.
procedure TForm1.Button2Click(Sender: TObject);
var x: integer; begin tabelle[0,3] := 0; for x := 1 to 11 do Tabelle[x,3] := Tabelle[x,2] - Tabelle[x-1,2]; min := 9999999; max := 0; //L = gewünschte Umtergrenze //H = gewünschte Obergrenze //L und H suchen (auch trivial) for x := 0 to 11 do begin if Tabelle[x,1] = (gesuchte Untergrenze) then L := x if Tabelle[x,1] = (gesuchte Obergrenze) then H := x end for x := L to H do begin if max < Tabelle[x,3] then max := Tabelle[x,3] if min > Tabelle[x,3] then min := Tabelle[x,3] end end; Je länger ich da rumprobiere, desto weniger kappier ich davon. :( |
Re: Wo höchstes Wachstum, wo geringstes?
>Kann ich bei
>Source: >Array[0..11,1..3] of double; >auch eines anstatt Double mit Date versehen? >Dass ich in diesem array das Datum, die Population und die Änderung >speichern kann? Nee das geht so nicht so einfach. Aber: rechne das Datum in eine Tageszahl um und am Schluss wieder zurück! Alternativ kannst Du statt Array [0..11,1..3] auch folgende Struktur benutzen: Tabelle = array[0..1] of record Datum: TDatetime; Anzahl : double; Delta : Double end; ...dann ist der Zugriff etwas anders. Statt Tabelle[X,3] schreibt man Tabelle[x].Delta, statt Tabelle[X,1] schreibt man Tabelle[x].Datum. Ein array of record statt eines zweidimensionalken Arrays. Ich persönlich finde die arrays sehr viel angenehmer, besser lesbar ist allerdings die record-Variante, da aus den bezeichnern gleich der Zweck hervorgeht. Außerdem ist es (mein) schlechter Stil, Schleifenvariablen nur "x" zu nennen, besser sind Bezeichner wie "nIndex" oder "Run". "L" steht bei mir immer für "Low" (Untergrenze) und "H" für "High" (Obergrenze). Das ist bestimmt lesbarer! Gruß |
Re: Wo höchstes Wachstum, wo geringstes?
Ich habe es jetzt so umgestellt, dass ich in die ListBox2 die Veränderung von anfang an reinschreibe, dann müsste es doch einfacher sein, oder? :gruebel:
|
Re: Wo höchstes Wachstum, wo geringstes?
Si, bene...
Dann hast ist die Suche sicher schneller, aber Durchschnitte u.a. Fragen sind dann nicht mehr so gut zu beantworten! |
Re: Wo höchstes Wachstum, wo geringstes?
Einen Durchschnitt baruche ich ja gar nicht. Ich möchte nacher einfach so etwas hier haben:
größter Populationszuwachs: von 1988-1990 größte Populationsabnahme: von 1982-1987 Ich verzweifel hier. :wall: Ich bin jetzt so durcheinander, dass ich überhaupt nicht mehr weiß, was wohin muss. |
Re: Wo höchstes Wachstum, wo geringstes?
Nicht mal das hier schaffe ich: :cry:
Delphi-Quellcode:
Tabelle : array of record
Datum: TDate; Anzahl : double; Delta : Double procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i:=0 to ListBox1.Count-1 do begin Tabelle[i].Datum:=StrToDate(ListBox1.Items[i]); //Datum Tabelle[i].Anzahl:=StrToFloat(ListBox2.Items[i]); //Population end; end; |
Re: Wo höchstes Wachstum, wo geringstes?
PN ist unterwegs...
|
Re: Wo höchstes Wachstum, wo geringstes?
PN angekommen?
Ganz gut für numerische Algorithmen und Statistik: ![]() |
Re: Wo höchstes Wachstum, wo geringstes?
Danke, aber eine PN ist nicht angekommen.
|
Re: Wo höchstes Wachstum, wo geringstes?
.. :mrgreen: .aber jetzt, oder?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:22 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