arreys speichern

Anfängerfragen zum Programmieren mit PureBasic.
Brügge
Beiträge: 359
Registriert: 28.05.2006 16:40
Wohnort: Rheine

fehler ..

Beitrag von Brügge »

hi sorry das ich noch einmal störe ...

der sag mir immer "Error at line 31 : This memory buffer is not initialized (null)."


was heißt das??
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Code: Alles auswählen

; schreiben

dim map.l(99,99)

map(50,50) = 5

If CreateFile(0,"mymap.dat")
  WriteData(0,@map(),99*99*SizeOf(long))
  CloseFile(0)
EndIf

; lesen

dim mymap.l(99,99)

If ReadFile(0,"mymap.dat")
  ReadData(0,@mymap(),99*99*SizeOf(long))
  CloseFile(0)
EndIf

debug mymap(50,50) 
Da muss ein @ vor die Arrays beim Schreiben/Lesen.
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.
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Re: fehler ..

Beitrag von SoS »

Brügge hat geschrieben:was heißt das??
das wir jetzt raten sollen was in Zeile 31 steht ?

Poste doch mal den dazugehörenden Code,ohne gehts nicht. ;)

@DD

Bei mir gehts auch ohne "@"
die Datei ist 38,2 KB (39.204 Bytes) gross
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: fehler ..

Beitrag von DarkDragon »

SoS hat geschrieben:@DD

Bei mir gehts auch ohne "@"
Jo, aber mit ists logischer und ersichtlicher, finde ich.
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.
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Beitrag von SoS »

Array ohne Parameter (z.b. x()) bekommst Du die Adresse
Array mit Parameter (z.b. x(1,1)) bekommst Du den Inhalt,um hier die Adresse zu bekommen muss man mit @x(1,1) ran. ;)
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Richtig wäre übrigens 100*100.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Ach, das merkt doch keiner wenn die eine Ecke fehlt :D
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

HeX0R hat geschrieben:Richtig wäre übrigens 100*100.
Stimmt :lol:
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.
Antworten