tatasusunan 2D

Susun atur dua dimensi ialah tatasusunan yang mempunyai dua indeks untuk setiap elemen ( selalunya tatasusunan sedemikian dipanggil dengan satu perkataan - matriks). 
Ia adalah mudah untuk menyimpan dan memproses pelbagai data jadual dalam matriks. Sama seperti mana-mana jadual terdiri daripada baris dan lajur, matriks terdiri daripada baris dan lajur.
Untuk kejelasan, anda boleh mewakili tatasusunan seperti ini:
Walaupun, sebenarnya, dalam ingatan komputer, matriks akan kelihatan seperti ini:

Untuk menggunakan matriks dalam atur cara, ia mesti diisytiharkan sama seperti tatasusunan biasa, menyatakan jenis data dan dua saiz (nombor atau pemalar). Ia juga mungkin (dan wajar) untuk segera menetapkan nilai awal. Contohnya, tetapkan semula semua elemen.
Contoh 1: Mengisytiharkan tatasusunan 3 baris dan 3 lajur dengan nilai awal arbitrari intA[3][3] = {{0,1,2}, {3,4,5}, {6,7,8} }; Contoh 2: Mengisytiharkan tatasusunan 5 baris dan 10 lajur (saiz ditetapkan melalui pemalar) dengan nilai awal sifar const int N = 5, M = 10; ganda B[N][M] = {}; Untuk merujuk kepada elemen tertentu matriks, kami menggunakan dua pasang kurungan, dalam kurungan pertama kami menunjukkan nombor baris, dalam kedua - nombor lajur.
Contoh:   A[0][2] = 100; //penomboran baris dan lajur bermula dari sifar

Mengisi matriks dan memaparkannya

Untuk merentasi keseluruhan matriks, gelung bersarang diperlukan. Mari kita lihat mengisi dan mengeluarkan matriks menggunakan contoh program yang meminta nilai elemen dari papan kekunci dan hanya memaparkan matriks yang diisi pada skrin. #include <iostream> menggunakan ruang nama std; int main() { /* Mengisytiharkan tatasusunan dua dimensi */ const int N = 2, M = 3; int A[N][M]; /* isikan elemen matriks daripada papan kekunci baris demi baris */ int i, j; untuk (i = 0; i < N; i++) untuk (j = 0; j < M; j++) cin>> A[i][j]; //Paparkan semua elemen matriks pada skrin baris demi baris untuk (i = 0; i < N; i++) { //gelung luar bertanggungjawab untuk lelaran ke atas baris untuk (j = 0; j < M; j++) //gelung untuk memaparkan unsur rentetan cout << A[i][j] << " "; cout << endl; //selepas memaparkan unsur-unsur baris ke-j, kita beralih ke baris baharu } pulangan 0; } Dalam contoh di atas, kedua-dua mengisi dan memaparkan matriks berlaku baris demi baris (mula-mula kita meneliti semua nilai j - indeks lajur, dan hanya kemudian indeks baris berubah - i)
Dengan menukar gelung (dalaman dengan luar), anda boleh mengisi dan / atau mengeluarkan tatasusunan mengikut lajur