Kaksiulotteinen matriisi

Määritelmä

, esimerkiksi:

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

Määritelmä A on 3 * 4 -taulukko (3 riviä 4 saraketta), B on 5 * 10 -taulukko (5 riviä 10 saraketta). Ota huomioon, että

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

ei ole helppo ymmärtää, C-kielen ohjelma ja sen toimintatulokset:

 #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 

toiminnan tulos on (näkemisen helpottamiseksi, viimeistely taulukkoon):

taulukko [0] [0] = 1

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

taulukko [0] [2] = 3

taulukko [0] [3] = 4

taulukko [0] [4] = 5

taulukko [1] [0] = 6

taulukko [1] [1] = 7

Taulukko [1] [2] = 8

taulukko [1] [3] = 9

taulukko [1] [4] = 10

taulukko [2] [1] = 12

taulukko [2] [2] = 13

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

taulukko [2] [4] = 15

yleiskatsaus

Kaksiulotteinen matriisi a [m] [n], tämä on M-viiva, N-sarake kaksiulotteinen matriisi. Aseta [P] [q] A:n ensimmäiselle elementille, eli kaksiulotteiselle taulukolle Alaindeksi P:stä M + P:hen, sarakkeen alaindeksi q:stä n + q:iin, paina "Rivien prioriteettijärjestys" -tallennustilaa, kun se on tallennettuna, elementin a [i] [j] osoite lasketaan seuraavasti:

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

Tallennettaessa "sarakkeen prioriteettijärjestyksen mukaan" osoite lasketaan Vastaanottaja:

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

Tallenna vähintään tarvittava määrä soluja (M-P + 1) * (N-Q + 1) * T-tavu

Perusoperaatio

Transposition matriisi

// jossa A, B on M * N matriisi:

Two-dimensional array

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

matriisi phase Add

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

matriisi multiplied

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

liittyvä käsite

C ++ dynaaminen 2D-taulukko:

muotoiluun Esimerkiksi ROW on rivien määrä ja COL on numeroiden lukumäärä

int ** data; // tallentaa 2D-taulukon osoittimen (osoittimen osoittimeen. Date = x [0] [0] osoitteesta. Tällainen standardi on parempi. Koska Sizeof (Päivämäärä) tulos on 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 

Katso

matriisi

  • matriisi

  • sparse matriisi

Related Articles
TOP