Matrix füllen
-
Hallo Leute,
folgende Frage. Ich will eine N x N (z.B. N = 3) Matrix mit Werten füllen (
keine Initialisierung, die Werte sind jedoch bekannt). Gibt es nun eine Möglichkeit der Matrix wie bei der Initialisierung M[N][N] = {{1,2,3},{4,5,6},{7,8,9}} die Werte zuzuweisen, oder muss ich jedes Element einzeln anpacken; z.B. M[i][j] = 4.
Gruß
Royal
-
Meinste so in der Art:
int Matrix[2][4] = { {1,2,3,4}, {8,7,6,5} };
Kann auch so aussehen:
int Matrix[2][4] = { 1,2,3,4, 8,7,6,5 };
Oder mit zwei Schleifen:
for(int i=0;i<2;i++) for(int i2=0;i2<4;i2++) Matrix[i][i2] =//füllen
-
hallo
nimm doch einen doppelten vektor als matrix:vector<vector <int> > mat;
Kuck mal den Link:http:www.cppreference.com
-
Hassan schrieb:
hallo
nimm doch einen doppelten vektor als matrix:vector<vector <int> > mat;
Kuck mal den Link:http:www.cppreference.com
Das finde ich immer unfähr. Direkt immer bei Neulingen mit der STL anzukommen
-
Hallo,
erstmal Danke für die superschnellen Antworten.
Freak_Coder schrieb:
Meinste so in der Art:
int Matrix[2][4] = { {1,2,3,4}, {8,7,6,5} };
Kann auch so aussehen:
int Matrix[2][4] = { 1,2,3,4, 8,7,6,5 };
also diese Variante hatte ich auch im Kopf, das funktioniert aber leider nicht. Du gibst ja in dem Beispiel direkt einen Index für das Array mit und man kann ja kein n-Tupel einer bestimmten Stelle (also Matrix[1][3]) zuweisen.
Achja, Vectoren dürfen wir leider keine benutzen.
Vielleicht noch eine andere Idee?Gruß und Danke
Royal
-
Ich verstehe nicht ganz was du meinst.
Du kannst doch einfachMatrix[1][3] = 4;
machen.
Gib mal nen Codeschnipsel wo du das anwenden willst oder vielleicht hat jemand anders verstanden um was es geht.
-
Hi,
dass das Funktioniert ist klar.
Freak_Coder schrieb:
Ich verstehe nicht ganz was du meinst.
Du kannst doch einfachMatrix[1][3] = 4;
machen.
Aber das Beispiel aus deinem anderen Thread funktioniert nicht weil du der Matrix an der Stelle (2,4) ein n-Tupel und keinen Wert zuweist.
Hier mein Bsp das nicht funzt:A[2][2] = {{3.4, 8.3, 4.7},{2.5,1.2,3.2},{7.4,3.7,1.5}};
Ich habe jetzt in den sauren Apfel gebissen und es so gemacht:
A[0][0] = 3.4; A[0][1] = 8.3; A[0][2] = 4.7; A[1][0] = 2.5; A[1][1] = 1.2; A[1][2] = 3.2; A[2][0] = 7.4; A[2][1] = 3.7; A[2][2] = 1.5;
Gruß
Royal
-
Royalbuds schrieb:
Hi,
A[2][2] = {{3.4, 8.3, 4.7},{2.5,1.2,3.2},{7.4,3.7,1.5}};
Wenn schon so:
A[3][3]= {{3.4, 8.3, 4.7},{2.5,1.2,3.2},{7.4,3.7,1.5}};
Wenn du
A[2]
hast.
Dann gibts auch nur A[0] und A[1] ---> Das sind dann 2 Elemente! Deswegen double/float A[2] in der definition. Dann gibts auch nur 2 Elemente(A[0] , A[1])...
Es wird ja von 0 gezählt !!!