Giriş.

Genellikle, herhangi bir bilgiyle çalışırken tablo verileriyle uğraşmak zorunda kalırsınız. Modern programlar genellikle bu tür verilerle çalışır. En basit örnek, oyunları damalı bir tahta üzerinde programlamaktır: tic-tac-toe, satranç, dama vb.

Matematikte bu tür yapılara matris denir.

 
Matris aynı türden (sayılar, diziler vb.) öğelerden oluşan dikdörtgen bir tablodur.< / yayılma>

C#'taki bu tür veriler iki boyutlu diziler - "dizi dizileri" olarak depolanabilir ve işlenebilir .
Tablodaki verileri işlemek için her hücrenin (hücrenin) durumunu hatırlamak gerekir. Her hücrenin iki numarası vardır: bir satır numarası ve bir sütun numarası.
Matriste her elemanın iki indeksi vardır: önce satır numarası, sonra sütun numarası belirtilir. Satır ve sütunların numaralandırılması sıfırdan başlar.
Örneğin, A[1, 2] öğesi, ikinci satır ve üçüncü sütunda yer alan öğedir.

Tıpkı normal dizilerde olduğu gibi, matrislerle çalışmak için matrisleri oluşturmayı öğrenmeniz gerekir, girin, işleyin ve görüntüleyin.

Bir matris oluşturun.

Bellek içi bir  matriks oluşturmak mümkündür. bazı başlangıç ​​değerleri ile doldurulmuş belirli bir boyut.

int[,] dizi = yeni int[4, 2]; // 4 satır, 2 sütun

 

Bir matris oluşturduktan sonra, onu rastgele değerlerle doldurabilirsiniz. Her öğenin iki dizini olduğu için iç içe döngüler kullanmak gerekir

için (int i=1; i <= N, i++) {/ / N - satır sayısı
    for (int j=1; j <= N, j++) { // M sütun sayısıdır
        A[i, j] = ...
  }
}
Matris gösteriliyor.

Listeyi işlemek ve görüntülemek için genellikle iç içe geçmiş iki döngü kullanılır. İlk döngü satır numarasında, ikinci döngü satır içindeki öğelerde.  Matrisi ekrana satır satır, sayıları bir satır içinde boşluklarla ayırarak, şu parçayı yazmanız gerekir:
 
için (int i=1; i <= N, i++) {
    for (int j=1; j <= N, j++) {
        Console.Write(A[i, j] + " ");
  }
  Console.WriteLine(); // yeni bir satıra geç
}
   

Aynısını yapabilirsiniz, ancak dizin yerine liste döngülerini kullanın ( foreach). Bunu uygulayan bir alt program yazmaya çalışın.

Klavyeden alınan değerlerle matris doldurma.

Programın, formda girdi olarak iki boyutlu bir dizi almasına izin verin < em>n dizeleri, her biri boşluklarla ayrılmış m sayıları içerir. Onları nasıl sayabilirim? Örneğin, şöyle:

int[,] dizi = yeni int[n,m]; // doldurulacak bir dizi oluştur
için (int i = 0; i <  n; i++)
{
       dize A = Console.ReadLine(); // satırı oku
       int[] curr = A.Split(' ').Select(int.Parse).ToArray(); // bu dizgiyi tek boyutlu bir diziye dönüştürün curr
       için (int j = 0; j < m; j++)
      {
           dizi[i, j] = akım[j]; // ihtiyacımız olan dizinin dizesini curr dizisindeki değerlerle dolduruyoruz
       }
}

 

Matrisin her öğesinin iki dizini vardır, bu nedenle yinelemek için iç içe bir döngü kullanmanız gerekir tüm unsurlar.
Genellikle bir matris satır satır yinelenir: dış döngü satır dizinleri üzerinde yinelenirken, iç döngü sütun dizinleri üzerinde yinelenir.
Ancak gerekirse matris üzerinde ve sütunlar üzerinde yineleme yapabilirsiniz, ardından döngüler tersine çevrilir.