Массивы

Тип массив – структура данных, представляющая собой набор переменных одинакового типа, имеющих общее имя. Каждый элемент массива однозначно определяется именем и индексом (номером элемента в массиве). Индексы массива принадлежат целочисленному типу. Массивы позволят легко обрабатывать большое количество связанных переменных.

Массив может быть:

- одномерным A1 [ ]

- двумерным M2 [ , ]

Формат объявления одномерного массива в C#:

тип[ ] ИмяМассива = new тип [размер];

Формат объявления двумерного массива в C#:

тип [ , ] ИмяМассива = new тип [количество строк, количество столбцов];

где тип – type – имя типа значений элементов;

[ ] – признак массива. Запятые внутри скобок задают размерность массива. Запятых нет – массив одномерный, запятая одна – массив двумерный;

ИмяМассива – имя массива;

new – оператор, предназначенный для создания объекта любого классового типа, позволяет динамически размещать в памяти элементы массива.

размер – количество элементов, которые будут храниться в массиве.

Элементы массива могут быть любых типов. Доступ к элементу массива осуществляется посредством индекса (позицию элемента внутри массива):

ИмяМассива [ НомерЭлемента ].

Индексация массивов начинается с нуля: массив с элементами n индексируется от 0 до n-1. При обращении к элементу массива, надо указать его имя и номер элемента в квадратных скобках. Например, A[4] – пятый элемент массива А, B[2,3] – элемент, лежащий на пересечении 3 строки и 4 столбца массива B.

Примеры объявления массивов:

static void Main(string[] args)

{

int[ ] А = new int[5]; // одномерный массив А из 5 целых чисел

char[ ] H = new char[10]; // одномерный массив H из 10 символов

double[,] M = new double [2, 3]; // двумерный массив 2х3 вещественных чисел, содержащий 2 строки и 3 столбца

}

При объявлении массива можно выполнить его инициализацию, т.е. присвоить начальные значения элементам массива в момент его создания.

Формат объявления одномерного массива с инициализацией:

тип [ ] ИмяМассива = {v1,v2,v3,…vn};

Формат объявления двумерного массива в C#:

тип [ , ] ИмяМассива = {{v11,v12,…v1j},…{vi1,vi2,…vij}};

//1-я строка ……… i-я строка

Здесь начальные значения, присваиваемые элементам массива, задаются с помощью последовательности v1, v2, v3,…vn для одномерного массива и vij – для массива размерностью ( i x j ), где i – номер строки, а j – номер столбца для двумерного массива.

Примеры объявления массивов с инициализацией:

int[ ] С = new int[ ] { 1, 3, 5, -7, 9 }; // массив С с пятью элементами

double[ ] D = { 1.5, 2.1, 3.65, 4.7, 5.14, 6.36 }; // альтернативный синтаксис

char[ ] Q = {'a','b','g'}; //массив Q инициализирован тремя символами

string[ ] Team = {"Zenith", "Dynamo", "Sparta", "Rotor", "CSK"};

int[ , ] M= { { 1, 2, 3 }, { 4, 5, 6 } }; // массив M: 2 строки и 3 столбца

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

//массив L (4х4) инициализирован

. . .

При инициализации допустимо указывать размер массива, но количество элементов списка инициализации должно соответствовать размерности массива. Иначе компилятор выведет сообщение об ошибке. Например:

Int [ ] nems – new int [ 10 ] { 99, 10, 100, 15, 76, 23, 85, 9 , 87, 49};

В этом объявлении размер массива nems явно задан равным 10.

Массив можно инициализировать во время выполнения программы в цикле. Пример ввода элементов массива с клавиатуры:

static void Main(string[] args)

{

int[] R = new int[5] ;

for (int k=0; k<=4; k++)

{

Console.Write("Введите {0}", k);

Console.WriteLine(" элемент массива R");

R[k] = Convert.ToInt32(Console.ReadLine());

//ввод элемента массива R

}

Console.ReadKey();

Типовыми операциями при работе с массивами являются: ввод и вывод элементов массива, поиск максимального или минимального элемента массива поиск заданного элемента массива, сортировка массива./ При вводе элементов массива удобно использовать оператор цикла for, при этом переменная счетчик может быть использована в качестве индекса элементов массива.

Иногда в качестве элементов массива используют случайные числа, которые можно получить с помощью функции Random(x), где х - случайное число в диапазоне 0..x-1.

Перед первым обращением к функции Random() необходимо вызовом процедуры Randomize и инициализировать программный генератор случайных чисел.