Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
NewList Test()
For Counter = 1 To 10
AddElement(Test())
Test() = Counter
Next
ForEach Test()
If (Test() % 2) = 0
; Alle graden Zahlen (2, 4, 6, 8) löschen
DeleteElement(Test())
EndIf
; und nun jede Zahl * -1
Test() = -Test()
Next
ForEach Test()
Debug Test()
Next
wie du siehst wird nun jede zahl 2 mal mit -1 multipliziert.
da nach dem DeleteElement wieder das vorgängerelement dran ist.
Deswegen Continue nach Delete oder die rechung am anfang
"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Besser wäre es den RückgabePointer, gleich mit als Parameter zu übergeben, und das ProcedureReturn nur als True/False zu benutzen ob der angegebene Pointer gefüllt wurde oder nicht.
PureBasic Hilfe hat geschrieben:Hinweis: Alle reservierten Speicherbereiche werden automatisch freigegeben, wenn das Programm beendet wird.
Er hätte ja genauso gut am Ende FreeMemory(*Test) schreiben können, aber zu Testzwecken tuts das und es wird sowieso wieder freigegeben.
Was mir nur nicht klar wird ist warum er nicht einfach von Anfang an Pointer nimmt, denn das macht auch nichts komplizierter.
Zuletzt geändert von DarkDragon am 27.09.2008 19:24, insgesamt 1-mal geändert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.