Pengenalan.

Selalunya, apabila bekerja dengan sebarang maklumat, anda perlu berurusan dengan data jadual. Program moden selalunya berfungsi dengan data sedemikian. Contoh paling mudah ialah permainan pengaturcaraan pada papan berkotak-kotak: tic-tac-toe, catur, dam, dsb.

Dalam matematik, struktur sedemikian dipanggil matriks.

 
Matriks ialah jadual segi empat tepat yang terdiri daripada unsur-unsur jenis yang sama (nombor, rentetan, dsb.).< / span>

Data sedemikian dalam C# boleh disimpan dan diproses sebagai tatasusunan dua dimensi - "susunan tatasusunan"
Untuk memproses data dalam jadual, adalah perlu untuk mengingati keadaan setiap sel (sel). Setiap sel mempunyai dua nombor: nombor baris dan nombor lajur.
Dalam matriks, setiap elemen mempunyai dua indeks: pertama nombor baris ditunjukkan, kemudian nombor lajur. Penomboran baris dan lajur bermula dari sifar.
Contohnya, elemen A[1, 2] ialah elemen yang terletak di baris kedua dan lajur ketiga.

Sama seperti tatasusunan biasa, untuk bekerja dengan matriks, anda perlu mempelajarinya mencipta, masukkan, proses dan paparkan.

Buat matriks.

Adalah mungkin untuk mencipta matriks dalam ingatan saiz tertentu yang diisi dengan beberapa nilai awal.

int[,] tatasusunan = new int[4, 2]; // 4 baris, 2 lajur

 

Selepas mencipta matriks, anda boleh mengisinya dengan nilai arbitrari. Memandangkan setiap elemen mempunyai dua indeks, adalah perlu untuk menggunakan gelung bersarang

untuk (int i=1; i <= N, i++) { / / N - bilangan baris untuk (int j=1; j <= N, j++) { // M ialah bilangan lajur A[i, j] = ...   } } Memaparkan matriks.

Dua gelung bersarang biasanya digunakan untuk memproses dan memaparkan senarai. Gelung pertama adalah pada nombor baris, gelung kedua pada elemen dalam baris.  Untuk mengeluarkan matriks pada skrin baris demi baris, memisahkan nombor dengan ruang dalam satu baris, anda perlu menulis serpihan berikut:
  untuk (int i=1; i <= N, i++) { untuk (int j=1; j <= N, j++) { Konsol. Tulis(A[i, j] + " ");   }   Console.WriteLine(); // beralih ke baris baharu }

Anda boleh melakukan perkara yang sama, tetapi gunakan gelung senarai dan bukannya indeks ( foreach). Cuba tulis subrutin yang melaksanakannya sendiri.

Mengisi matriks dengan nilai dari papan kekunci.

Biar program menerima tatasusunan dua dimensi sebagai input, dalam bentuk < em>n rentetan, setiap satu mengandungi m nombor yang dipisahkan oleh ruang. Bagaimana untuk mengira mereka? Contohnya, seperti ini:

int[,] tatasusunan = new int[n,m]; // buat tatasusunan untuk diisi untuk (int i = 0; i <  n; i++) {        rentetan A = Console.ReadLine(); // baca baris        int[] curr = A.Split(' ').Pilih(int.Parse).ToArray(); // tukar rentetan ini kepada curr tatasusunan satu dimensi        untuk (int j = 0; j < m; j++)        {            tatasusunan[i, j] = curr[j]; // isi rentetan tatasusunan yang kita perlukan dengan nilai dari tatasusunan curr        } }

 

Setiap elemen matriks mempunyai dua indeks, jadi anda perlu menggunakan gelung bersarang untuk mengulangi semua elemen.
Biasanya matriks diulang baris demi baris: gelung luar berulang ke atas indeks baris, manakala gelung dalam melelaran ke atas indeks lajur.
Tetapi jika perlu, anda boleh lelaran ke atas matriks dan mengikut lajur, kemudian kitaran diterbalikkan.