Масиви
Масивите представляват съвкупност от няколко еднотипни променливи. Те се наричат елементи на масива.
Елементите на масивите в C# са номерирани с числата 0, 1, 2, … N-1. Тези номера на елементи се наричат индекси. Броят елементи в даден масив се нарича дължина на масива.
Всички елементи на даден масив са от един и същи тип, независимо дали е примитивен или референтен. Това ни помага да представим група от еднородни елементи като подредена свързана последователност и да ги обработваме като едно цяло.
Масивите могат да бъдат от различни размерности, като най-често използвани са едномерните и двумерните масиви. Едномерните масиви се наричат още вектори, а двумерните – матрици.
Деклариране и свойства.
В C# декларирането на двумерен масив става по начина:
<тип> [,] <име> = new <тип> [m,n];, където вместо знаците “<” и “>” поставяме съответно тип и име на масива, а на мястото на m и n записваме желания от нас брой редове и колони. Ако обаче искаме да въведем стойностите на масива още по време на кода може да използваме:
<тип> [,] <име> =
{
{2,3,4},
{5,6,7},
{1,8,9},
};
Чрез това деклариране елементите на масива имат свое местоположение и до всеки един от тях може да се достъпи като се поставят в квадрастни скоби координатите му, например:
int [,] matrix =
{
{2,3,4},
{5,6,7},
{1,8,9},
};
matrix[0,1];
matrix[1,0];
По този начин с всеки един елемент от квадратната матрица с 3 реда и 3 колони може да се прави промяна и ако елементът е друг масив, да се прави промяна в масива с тези координати
Отпечатване на двумерен масив
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();
}
Първо декларираме и инициализираме масива, който искаме да обходим и да отпечатаме на конзолата. Масивът е двумерен и затова използваме един цикъл, който ще се движи по редовете и втори, вложен цикъл, който за всеки ред ще се движи по колоните на масива. За всяка итерация по подходящ начин извеждаме текущия елемент на масива като го достъпваме по неговите два индекса (ред и колона). В крайна сметка, ако изпълним горния програмен фрагмент, ще получим следния резултат:
1 2 3 4
5 6 7 8
С командата matrix.GetLenght(0) вземаме броя на елементите в редицата, докато с matrix.GetLenght(1) – броя на редиците или още казано броя на колоните в масива.
Както и при обикновения едномерен масив, при многомерния също могат да се приложат стойности от конзолата като първо въвеждаме броя на редовете и колоните, а след това елементите във всеки един ред.
Кодът в конзолата би изглеждал така:
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
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();
}
В следващите няколко минути ще ви покажа видеоклип, в който нещата, за които говорихме се представят визуално, за да се осмислят по-лесно.
Published: Apr 18, 2022
Latest Revision: Apr 18, 2022
Ourboox Unique Identifier: OB-1313961
Copyright © 2022