Двумерни масиви. Матрица by Dilyan Ivanov - Ourboox.com
This free e-book was created with
Ourboox.com

Create your own amazing e-book!
It's simple and free.

Start now

Двумерни масиви. Матрица

  • Joined Apr 2022
  • Published Books 1

Масиви

 

Масивите представляват съвкупност от няколко еднотипни променливи. Те се наричат елементи на масива.

Елементите на масивите в C# са номерирани с числата 0, 1, 2, … N-1. Тези номера на елементи се наричат индекси. Броят елементи в даден масив се нарича дължина на масива.

Всички елементи на даден масив са от един и същи тип, независимо дали е примитивен или референтен. Това ни помага да представим група от еднородни елементи като подредена свързана последователност и да ги обработваме като едно цяло.

2

Масивите могат да бъдат от различни размерности, като най-често използвани са едномерните и двумерните масиви. Едномерните масиви се наричат още вектори, а двумерните – матрици.

3

Деклариране и свойства.

 

В C# декларирането на двумерен масив става по начина:

<тип> [,] <име> = new <тип> [m,n];, където вместо знаците “<” и “>” поставяме съответно тип и име на масива, а на мястото на m и n записваме желания от нас брой редове и колони. Ако обаче искаме да въведем стойностите на масива още по време на кода може да използваме:

           <тип> [,] <име> =

{

{2,3,4},

{5,6,7},

{1,8,9},

};

 

4

Чрез това деклариране елементите на масива имат свое местоположение и до всеки един от тях може да се достъпи като се поставят в квадрастни скоби координатите му, например:

int [,] matrix =
{
{2,3,4},
{5,6,7},
{1,8,9},
};
       matrix[0,1];
       matrix[1,0];

 

5

По този начин с всеки един елемент от квадратната матрица с 3 реда и 3 колони може да се прави промяна и ако елементът е друг масив, да се прави промяна в масива с тези координати

6

Отпечатване на двумерен масив

 

int[,] matrix =
{
      {1, 2, 3, 4}, 
      {5, 6, 7, 8}, 
};
 
for (int row = 0; row < matrix.GetLength(0); row++)
{
      for (int col = 0; col < matrix.GetLength(1); col++)
      {
      Console.Write(matrix[row, col]);
      }
      Console.WriteLine();
}
7

Първо декларираме и инициализираме масива, който искаме да обходим и да отпечатаме на конзолата. Масивът е двумерен и затова използваме един цикъл, който ще се движи по редовете и втори, вложен цикъл, който за всеки ред ще се движи по колоните на масива. За всяка итерация по подходящ начин извеждаме текущия елемент на масива като го достъп­ваме по неговите два индекса (ред и колона). В крайна сметка, ако изпълним горния програмен фрагмент, ще получим следния резултат:

 

1 2 3 4

     5 6 7 8

 

С командата matrix.GetLenght(0) вземаме броя на елементите в редицата, докато с matrix.GetLenght(1) – броя на редиците или още казано броя на колоните в масива.

8

Както и при обикновения едномерен масив, при многомерния също могат да се приложат стойности от конзолата като първо въвеждаме броя на редовете и колоните, а след това елементите във всеки един ред.

Кодът в конзолата би изглеждал така:

 

Enter the number of the rows: 3
Enter the number of the columns: 2
Enter the cells of the matrix:
matrix[0,0] = 2
matrix[0,1] = 3
matrix[1,0] = 5
matrix[1,1] = 10
matrix[2,0] = 8
matrix[2,1] = 9
 2 3
 5 10
 8 9

 

 

9
Console.Write(“Enter the number of the rows: “);
int rows = int.Parse(Console.ReadLine());
 
Console.Write(“Enter the number of the columns: “);
int cols = int.Parse(Console.ReadLine());
 
int[,] matrix = new int[rows, cols];
 
Console.WriteLine(“Enter the cells of the matrix:”);
 
for (int row = 0; row < rows; row++)
{
      for (int col = 0; col < cols; col++)
      {
      Console.Write(“matrix[{0},{1}] = “,row,col);
      matrix[row, col] = int.Parse(Console.ReadLine());
      }
}
 
for (int row = 0; row < matrix.GetLength(0); row++)
{
      for (int col = 0; col < matrix.GetLength(1); col++)
      {
      Console.Write(” “ + matrix[row, col]);
      }
      Console.WriteLine();
}

 

10

В следващите няколко минути ще ви покажа видеоклип, в който нещата, за които говорихме се представят визуално, за да се осмислят по-лесно.

11
This free e-book was created with
Ourboox.com

Create your own amazing e-book!
It's simple and free.

Start now

Ad Remove Ads [X]
Skip to content