Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop_1 / ЛК / Лекция 8-9Массивы.doc
Скачиваний:
42
Добавлен:
10.06.2015
Размер:
410.62 Кб
Скачать

16

Лекция 8-9

12.0. Массивы

Тип массив – структура данных, представляющая собой набор переменных одинакового типа, имеющих общее имя.

Каждый элемент массива однозначно определяется именем и индексом (номером элемента в массиве).

Индексы массива принадлежат целочисленному типу. Массивы позволят легко обрабатывать большое количество связанных переменных.

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

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

  • двумерным A2 [ , ]

Массив заданный математическиимеет вид:

– одномерный - строка - A = (1, 5, 8, 3, 4, 2, 7, 0) или столбец

– двумерный B( например, 3 – строки и 2 – столбца )

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

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

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

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

  • тип – type – имя типа значений элементов.

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

  • ИмяМассива – имя массива.

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

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

Элементы массива могут быть любых типов.

Доступ к элементу массива осуществляется посредством индекса (позицию элемента внутри массива):

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

Индексация массивов начинается с нуля: массив с элементами n индексируется от 0 до n-1. При обращении к элементу массива, надо указать его имя и номер элемента в квадратных скобках.

Например:A[0] – первый элемент массиваA.

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– для массива размерностью (ixj), гдеi– номер строки, аj– номер столбца для двумерного массива.

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

int[ ] С = newint[ ] { 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();

В C# также предусмотрена инструкция foreach. Она обеспечивает простой и понятный способ выполнения итерации элементов в массиве.

Синтаксис инструкции foreach:

foreach (int ИндексМассива in ИмяМассива)

{

Инструкции тела цикла

}

  • int ИндексМассива – тип и имя переменной для номера элемента массива (целое число).

  • Слово in – в.

  • ИмяМассива – имя массива.

Пример. Следующий код создает массив Числа и осуществляет его итерацию с помощью инструкции foreach.

int[] Числа = { 4, 5, 6, 1, 2, 3, -2, -1, 0 };

foreach (int i in Числа)

{

Console.Write("{0} ", i);

}

Вывод в консоль строки: 4 5 6 1 2 3 -2 -1 0

Операции, производимые над элементами массива, полностью определяются типом этих элементов.

Соседние файлы в папке ЛК