Rekrusiver Arry
Übersicht

![]() |
TimBoBetreff: Rekrusiver Arry |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
habe mal eine Frage, ich komme einfach nicht auf die Lösung: Stellt euch vor, ihr müsst in eine rekrusive Funktion einen Arry übergeben, und diese ändert ihn leicht ab und gibt ihn dann weiter. Wie mache ich das am beste? Habe echt keinen Ansatz. Als Parameter ist es mir ehrlich gesagt n bisl zu doof ^^ Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Arrays sind doch Global...? Oder übersehe ich da was? | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würds mit Banks machen. Damit könnte man leicht Arrays "simulieren". | ||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ,
ich habe mich etwas komisch ausgedrückt: das Problem ist ja gerade, dass ein Arry global ist, ich möchte sagen wir 100 Variablen von einer Funktion in 10 Funktionen schiffen, diese ändern die 100 Variablen für sich ab und schicken dies dann jeweils wieder 10 Funktionen. Das ist jetz ein Hardcore Beispiel, habe nat. keine 100 Vars. Da ein Arry Global ist, hat man das Problem, dass wenn Funktion X die Werte ändert, dann sieht man diese Änderung auch in Funktion y ^^ Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Xeres hat Folgendes geschrieben: Arrays sind doch Global...? Oder übersehe ich da was?
Blitzarrays können auch lokal sein, daher kann man sie auch an Funktionen übergeben. Zum Problem: Das geht wohl wirklich nur durch Banks, wie Coolo das schon erwähnt hat. Ansonsten müsstest du irgendwie die Arrays kopieren, was eine aufwändige Sache sein kann. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Blitzarrays können auch lokal sein, daher kann man sie auch an Funktionen übergeben.
Wie kann ich ein Blitzarry (ich kenne sie nur von Types) an eine Funktion übergeben ? Banks, also Bank erstellen, Werte einlesen, handle senden. Für jeden aufruf der Funktion wird also eine neue Bank erstellt. Sie umfasst gerade mal 10 byte, aber die Funktion hat 13mio aufrufe. Mhh , ich denke das ist alles unmöglich Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Local strings$[10]
strings[2] = "Hello World" laber(strings) WaitKey End Function laber(array$[10]) For i = 0 To 9 Print array[i] Next End Function |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Noobody hat Folgendes geschrieben: Blitzarrays können auch lokal sein, daher kann man sie auch an Funktionen übergeben. Ich weiß ja nicht... Blitzarrays können an eine Funktion weiter gegeben werden, aber sie verhalten sich so, als wären sie Global...
BlitzBasic: [AUSKLAPPEN] Local BlitzArray[10] ;** 0-10 |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
achso schade,
aber ich habe eben in meiner Totalen Verzweiflung mein BCC 25 Code rausgeholt und da sind ja auch Werte die geändert werden. Der Trick ist einfach , nach jedem Aufruf die Werte zu Resetten Code: [AUSKLAPPEN] Test(1239)=Test(1239)+5
For i=0 to 9 machwas() Next Test(1239)=Test(1239)-5 i.wie funktioniert das, ist eigentlich sogar recht logisch. Viele Grüße & Danke nochma TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Xeres hat Folgendes geschrieben: Ich weiß ja nicht... Blitzarrays können an eine Funktion weiter gegeben werden, aber sie verhalten sich so, als wären sie Global...
Tun sie nicht ![]() Sie werden beim übergeben einfach nicht kopiert, sondern referenziert (wie in BMax). Der Vorteil von Blitzarrays gegenüber normalen Arrays ist nun, dass man eine allgemeine Funktion schreiben kann, die ein Blitzarray verarbeitet (beispielsweise für Mapkollision); man kann die Funktion nun mit verschiedensten Blitzarrays als Parameter aufrufen - bei einem globalen Array müsste man die gleiche Funktion für jedes Array nochmals neu schreiben. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay, recht hast du.
(In Anbetracht der Tatsache, dass die Blitzarrays eine Konstante Größe haben müssen, finde ich nicht, dass das den Nutzen von Blitzarrays sonderlich erhöht. Aber was soll's...) |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das mit der konstanten Grösse ist in der Tat ein ziemliches Hindernis, aber dennoch war ich in einigen Codes sehr froh um die Möglichkeit, Arrays als Parameter übergeben zu können (beispielsweise hier oder hier). | ||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group