Dvourozměrné pole

Definice

, například:

plovák a [3] [4], b [5] [10];

Definice A je pole 3 * 4 (3 řádky 4 sloupce), B je pole 5 * 10 (5 řádků 10 sloupců). Všimněte si, že

float a [3, 4], b [5, 10];

není snadné pochopit, program v jazyce C a jeho provozní výsledky:

 #include int main (int Argc, const char * argv []) {int Array [3] [5] = {0}; // Define a two-dimensional array (3 rows 5 columns) int Temp = 0 ; // Set a temporary integer variable to assign a value for the array for (int A = 0; a 

výsledkem operace je (pro snadné prohlížení, dokončení do tabulky):

pole [0] [0] = 1

array [0] [1] = 2 < / p>

pole [0] [2] = 3

pole [0] [3] = 4

pole [0] [4] = 5

pole [1] [0] = 6

pole [1] [1] = 7

Pole [1] [2] = 8

pole [1] [3] = 9

pole [1] [4] = 10

pole [2] [1] = 12

pole [2] [2] = 13

array [2] [3] = 14 < / p>

pole [2] [4] = 15

přehled

Dvourozměrné pole a [m] [n], jedná se o M řádkové, N-sloupcové dvourozměrné pole. Nastavte [P] [q] pro první prvek A, tedy dvourozměrné pole Dolní index od P do M + P, dolní index sloupce od q do n + q, stiskněte "Pořadí priority řádku" úložiště Když je uložená adresa prvku a [i] [j] se vypočítá jako:

LOC (a [i] [ J]) = LOC (a [p] [q]) + (i - p) * n + (j - q)) * t

Při ukládání podle "pořadí priority sloupců" se adresa vypočítá do:

LOC (a [i] [j]) = LOC (a [p] [q]) + ((j - q) * m + (i - p)) * t

Uložte alespoň požadovaný počet buněk (M-P + 1) * (N-Q + 1) * T po bajtech

Základní operace

Transposition matice

// kde A, B je M * N matice:

Two-dimensional array

 void track (Matrix A, Matrix B) {INT I, J; for (i = 0; I 

matice phase Add

 //) A, B, C is M * N matice: Void AddMat (Matrix C, Matrix A, Matrix B) {INT I, J; for (i = 0; I 

matice multiplied

 // wherein A is M * n matice, B is N * 1 matice, C is M * 1 matice Void Mutmat (Matrix C, Matrix A, Matrix B ) {INT I, J, K; For (i = 0; i 

související koncept

Dynamické 2D pole C++:

na tvarování Například ROW je počet řádků a COL je počet čísel

int ** data; // ukládá ukazatel 2D pole (ukazuje na ukazatel na ukazatel. Datum = x [0] [0] adresy. Takový standard je lepší. Protože výsledek Sizeof (Date) je 4 不 不 二 二 数 数 组)

 // The following implementation How to apply for a memory Data = new int * [rot]; for (int K = 0; k 
 // Assignment, for example, DATA [0] [0] = 5; // = 5 = 5 = 5 (called 0 row 0 columns in C ++) to 5 // Delete Memory for (int) i = 0; I 

Vidět

matice

  • matice

  • sparse matice

Související články
HORNÍ