Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

array nach Initialisierung mit vielen werten füllen

Yves3 / 4 Antworten / Baumansicht Nickles

hallo

ich habe folgendes problem:
ich möchte ein zweidimensionales array nach der initaialisierung mit 16 werten füllen.

dazu könnte jeden wert einzeln definieren:

array[1][1] = 0;
array[1][2] = 0;
array[1][3] = 1;
usw...

dazu wären aber 16 zeilen code nötig, geht das nicht irgendwie einfacher und schneller?
wie beispielsweise bei der initialisierung:

int Array[4][4] = { {0,0,0,0},
{0,0,0,0},
{1,0,0,0},
{1,1,1,1} };

das scheint aber leider nur bei der initialisierung zu funktionieren :-(

vielen dank für alle antworten!!

bei Antwort benachrichtigen
thomas woelfer Yves3 „array nach Initialisierung mit vielen werten füllen“
Optionen

die 'kompakte' art der zuweisung ist in der tat nur bei der initialisierung moeglich. (aeh: ich gehe davon aus, das wir hier von c/c++ code reden....)

du kannst aber zur laufzeit natuerlich auch 'schnell' 'viele' daten ins array kopieren: memcpy() waere da ein geeigneter kandidat.

WM_HOPETHISHELPS

this posting contains no tpyos.
bei Antwort benachrichtigen
Yves3 Nachtrag zu: „array nach Initialisierung mit vielen werten füllen“
Optionen

nochmal vielen dank für die antwort.
ich werde es ausprobieren, sobald ich ein paar andere probleme beseitigt habe.

gruss yves

bei Antwort benachrichtigen
Yves3 Nachtrag zu: „array nach Initialisierung mit vielen werten füllen“
Optionen

hab mir das ganze nun noch mal angeschaut und versucht deinen vorschlag anzuwenden.

leider fand ich bei google nur beispiele, bei denen ein array in ein anderes kopiert wurde und keines, wo werte in das array kopiert werden.

ich hab mal versucht den code so zu schreiben, wie er mir logisch erscheint, aufgrund mangelnder erfahrung bin ich aber noch nicht zum ziel gekommen.

memcpy(FigureArray, {{STANDARD,STANDARD,STANDARD,STANDARD},
{STANDARD,STANDARD,STANDARD,STANDARD},
{Color,STANDARD,STANDARD,STANDARD},
{Color,Color,Color,Color}}
, 16*sizeof(char));

oder kann man da nur array in arrays kopieren?
könnte jemand noch einen kleine beispielcode posten, das würde mir sicher helfen.

danke!

bei Antwort benachrichtigen
Yves3 Nachtrag zu: „hab mir das ganze nun noch mal angeschaut und versucht deinen vorschlag...“
Optionen

sizeof(BLOCKCOLOR) müsste es heissen, sorry.
ändert aber auch nicht wirklich was.

bei Antwort benachrichtigen