Массивы в C#
Объявление массива
Объявление массива
Индексы массива
Инициализация массива
Генерация элементов массива
Генерация элементов массива
Основные свойства и методы
Основные свойства и методы
Оператор цикла foreach
Задание 1
Задание 2
Двумерные массивы
Ступенчатые массивы
Ступенчатые массивы
Ступенчатые массивы
Ступенчатые массивы
Ступенчатые массивы
Ступенчатые массивы
Ступенчатые массивы
Задание 3
1.53M
Category: programmingprogramming

Массивы в C#

1. Массивы в C#

2. Объявление массива

Массив – это последовательная группа
переменных, имеющих одно имя и один тип.
Объявление массива имеет следующий вид:
<тип переменной> [] <имя массива> =
new <тип переменной> [размерность массива]

3. Объявление массива

Пример:
int [] a = new int[10] // объявлен массив а с
размерностью 10
double [] b = new double[15] // объявлен массив
b с размерностью 15

4. Индексы массива

Индекс (порядковый номер) элемента
массива всегда является целым числом. Отсчет
начинается с 0.
Например в массиве целых чисел a с
размерностью 14:
a[0] – первый элемент массива
a[13] – последний элемент массива

5. Инициализация массива

Возможна инициализация массива.
Пример:
char [] charray = {‘5’, ‘g’, ‘;’, ‘&’ , ‘ю’};
char ch1 = charray[0]; // ‘5’
char ch3 = charray[3]; // ‘&’

6. Генерация элементов массива

Для генерации элементов массива в C#
используется класс Random. Чтобы им
воспользоваться необходимо создать новый
объект класса.
Random <имя объекта> = new Random();

7. Генерация элементов массива

Элементы массива генерируются внутри
цикла следующим образом:
for (int i=0; i<n; i++)
{
a[i] = rn.Next(11)-5;
}
Next – это метод класса Random, который
возвращает неотрицательное случайное целое
число.

8. Основные свойства и методы

Length (свойство класса Array) - общее число
элементов во всех измерениях массива Array.
<имя массива>.Length
IndexOf и LastIndexOf (методы класса Array) определяют индексы первого и последнего
вхождения образца в массив, возвращая -1,
если такового вхождения не обнаружено.
Применяется только для одномерного массива.
Array.IndexOf(<имя массива>, <образец>)

9. Основные свойства и методы

Sort (метод класса Array) - осуществляет
сортировку массива.
Array.Sort(<имя массива>);
Reverse (метод класса Array) - выполняет
обращение одномерного массива, переставляя
элементы в обратном порядке.
Array.Reverse(<имя массива>, <образец>)

10. Оператор цикла foreach

Оператор цикла foreach перебирает подряд
все элементы массива.
foreach (<тип переменной>
<имя переменной> in <имя массива>) {…}
Тип переменной должен совпадать с типом
элементов массива.
Пример:
int[] a = new int[5];
foreach (int i in a) {…}

11. Задание 1

Дан целочисленный массив состоящий из 10
элементов. Элементы массива принимают
значения в интервале [-7; 7]. Найдите
последнее вхождение в массив элемента n (n
вводится с клавиатуры). Подсчитайте
количество элементов массива меньших n.

12. Задание 2

Дан целочисленный массив состоящий из n
элементов. Элементы массива принимают
значения в интервале [-10; 10]. Найдите
максимальный элемент массива

13. Двумерные массивы

<тип переменной> [,] <имя массива> =
new <тип переменной> [количество строк,
количество столбцов]
Пример:
int[,] a = new int[10,10];
Для работы с двумерными массивами
используются два цикла: по строкам и по
столбцам.

14. Ступенчатые массивы

В ступенчатых массивах количество элементов
в разных строках может быть различным. В
памяти ступенчатый массив хранится в виде
массива массивов. Структура ступенчатого
массива:
|Массив | a | | a[0] | | a[0][0] | a[0][1] | … | | | |
| | | | a[1] | | | | | | | |
| | | | … | | a[1][0] | a[1][1] | … | | | |
| | | | a[n] | | | | | | | |
| | | | | | a[n][0] | a[n][1] | … | | | |
Объявление ступенчатого массива:
тип [][] имя_массива;

15. Ступенчатые массивы

Объявление ступенчатого массива:
тип [][] имя_массива;
Например:
int [][]a;

16. Ступенчатые массивы

Например:
int [][] a= new int [3][]; // Создаем три строки
a[0]=new int [2]; // 0-ая строка ссылается на 2-х
элементый одномерный массив
a[1]=new int [3]; // 1-ая строка ссылается на 3-х
элементый одномерный массив
a[2]=new int [10]; // 2-ая строка ссылается на
10-ти элементый одномерный массив

17. Ступенчатые массивы

Другой способ выделения памяти:
int [][] a= {new int [2], new int [3], new int [10]};
Так как каждая строка ступенчатого массива
фактически является одномерным массивом, то
с каждой строкой можно работать как с
экземпляром класса Array.

18. Ступенчатые массивы

Пример:
class Program
{
static void Main()
{
try
{
int[][] MyArray;
Console.Write("Ввведите количество строк: ");
int n = int.Parse(Console.ReadLine());
MyArray = new int[n][];
for (int i = 0; i < MyArray.Length; i++)
{
Console.Write("введите коли

19. Ступенчатые массивы

Console.Write("введите количество элементов в
{0} строке: ", i);
int j = int.Parse(Console.ReadLine());
MyArray[i] = new int[j];
for (j = 0; j < MyArray[i].Length; j++)
{
Console.Write("a[{0}][{1}]= ", i, j);
MyArray[i][j] = int.Parse(Console.ReadLine());
}
}
PrintArray("исходный массив:", MyArray);
for (int i = 0; i < MyArray.Length; i++)

20. Ступенчатые массивы

{
Console.WriteLine("переполнение");
}
catch (OutOfMemoryException)
{
Console.WriteLine("недостаточно памяти для
создания нового объекта");
}
}
static void PrintArray(string a, int[][] mas)
{

21. Задание 3

Дан двумерный массив размерности 4х4.
Элементы массива принимают значения в
интервале [-5;5].
Найти минимальный элемент массива.
Проверить элементы массива на четность. Если
элемент четный, увеличить его в 2 раза, если
нечетный - в 3 раза. Найти минимальный элемент
нового массива.
English     Русский Rules