2 dimensionaler Array
-
Hallo Zusammen
Ich will ein Spielfeld machen. Der User kann das Spielfeld selbst bestimmen.
In der ersten Zeile sollte mit Buchstaben gekennzeichnet sein also A,B,C...
die erste Spalte mit Zahlen 1, 2, 3... usw.Wie mache ich das am besten?
Mit einem 2 dimensionalen Array?
Ich habe es versucht mit char cFeld[x][y];
Ich möchte das der User die Variabeln x, y eingeben kann. Ich bekomme jedoch eine Fehlermeldung das man dem Array einen Wert geben muss.
Wie soll ich vorgehen?
Bitte um schnelle Hilfe
Liebe Grüsse

-
für jeden datentyp und jede variable muss die größe zur compilezeit bekannt sein.
ist sie das nicht, so muss das zeug auf dem freien speicher (heap) abgelegt werden. dort wird speicher mit dem schlüsselwort "new" reserviert.
int *foo = new int[x]; // 1-dim array int **bar = new int*[x]; // 2-dim array for(int i = 0; i < x; ++i) bar[i] = new int[y];mehr c++ typisch ist aber eher sowas:
#include <vector> using namespace std; ... vector< vector<int> > foo(x); // 2-dim array for(unsigned i = 0; i < foo.size(); ++i) foo[i].resize(y);
-
Hallo
Danke für deine Antwort. Ich verstehe den Code leider nicht so ganz kannst du ihn mir mehr kommentieren?
Die Bezeichnung foo, bar könnte ich ersetzen durch?
Liebe Grüsse

-
auch unwissend bin
gibs eigentlich keinen 2D vector oder sowas in der art in der stl?

wär mal kuhl zu wissen..
-
@1310-Logik:
Nein, wieso auch? Wenn du mehr dimensionen willst, dann verschachtel eben vector, wie thordk es gemacht hat.@Unwissende:
foo und bar sind wie man sieht Bezeichner.