Entwickler-Ecke
Algorithmen, Optimierung und Assembler - lim --> 0
Sotov - Fr 06.10.06 22:38
Titel: lim --> 0
Wenn ich eine funktion gemacht habe und dabei mehrere verschiedene Werte herausgekriegt habe zb
0,24
0,056
0,0001
dann möchte ich die Zahl die 0 am nähersten ist herausnehmen und mit ihr etwas anstellen!
Wie mache ich das?
Wie kann man Delphi klar machen, dass er die 0 am nähersten stehende Zahl aus verschiedenen varianten raussuchen soll?
Danke im Voraus!
Moderiert von
Gausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 06.10.2006 um 23:05
mkinzler - Fr 06.10.06 22:41
In dem du die zahl mit dem kleinsten Betrag ermittelst.
jakobwenzel - Fr 06.10.06 22:41
Die Zahl, die der 0 am nächsten ist, ist die, deren Betrag am kleinsten ist. Den Betrag kriegt man mit abs und dann einfach die kleinste Zahl suchen.
Marco D. - Fr 06.10.06 22:42
mkinzler hat folgendes geschrieben: |
In dem du die zahl mit dem kleinsten Betrag ermittelst. |
Würde das nicht auf einen Sortieralgo hinauslaufen?
Sotov - Fr 06.10.06 22:43
Und wie ermittelt man die kleinste zahl? Wenn ich den Betrag, angenommen, schon habe?
mkinzler - Fr 06.10.06 22:46
In dem du die Liste sortierst.
Sotov - Fr 06.10.06 22:49
mkinzler hat folgendes geschrieben: |
In dem du die Liste sortierst. |
Mano, könnt ihr bitte etwas genauer werden? Ich weiß es halt nicht und googeln hilft auch nicht weiter!
Was heisst Liste sortieren und wie macht man das?
mkinzler - Fr 06.10.06 22:50
Such doch mal nach QuickSort, BubbleSort, ShellSort, GnomeSort, ...
Sotov - Fr 06.10.06 22:52
das problem ist ja, dass ich keine ganzen zahlen habe, dabei hilft array auch nicht wirklich!
mkinzler - Fr 06.10.06 22:55
Sotov hat folgendes geschrieben: |
das problem ist ja, dass ich keine ganzen zahlen habe, dabei hilft array auch nicht wirklich! |
???
QUICKSORT
Marco D. - Fr 06.10.06 23:00
Das ist z.B. Bubblesort. Der Algorithmus ist aus Wikipedia kopiert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure bubblesort(var f: Array of Integer); var i,j,temp: Integer; begin for i:=High(f) downto Low(f)+1 do for j:=Low(f)+1 to i do if f[j-1] > f[j] then begin temp := f[j-1]; f[j-1] := f[j]; f[j] := temp; end; end; |
Nun muss er noch noch auf dein Problem zugeschnitten werden, sprich auf die Listbox.
Edit: Er hat doch keine Listbox :?!?:
Gausi - Fr 06.10.06 23:03
Mädels...hier will einer die betraglich kleinste Zahl finden. Da bringt Sortieren nichts, wenn man auch negative Zahlen hat, und ist ansonsten mit Kanonen auf Spatzen geschossen... :roll:
So gehts:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var MeinZahlenArray: Array of Double; AbsMin: Double; AbsMin := abs(MeinZahlenArray[0]); for i := 1 to high(MeinZahlenArray) do if abs(MeinZahlenArray[i]) < AbsMin then AbsMin := MeinZahlenArray[i]; |
mkinzler - Fr 06.10.06 23:05
Zitat: |
Mädels...hier will einer die betraglich kleinste Zahl finden. Da bringt Sortieren nichts, wenn man auch negative Zahlen hat, und ist ansonsten mit Kanonen auf Spatzen geschossen... :roll: |
Wir Redeten von den Beträgen ...
Sotov - Fr 06.10.06 23:11
OK, danke! Schon gelöst!
Kroni - Sa 07.10.06 00:15
Na dann erzähl doch mal, wie du die Sache gelöst hast, damit Leute mit der selben oder ähnlichen Frage in zukunft auch was davon haben=)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!