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

В ступенчатыхмассивах количество элементов в разных строках может различаться. В памяти ступенчатый массив хранится иначе, чем прямоугольный: в виде нескольких внутренних массивов, каждый из которых имеет свой размер. Крометого, выделяется отдельная область памяти для хранения ссылок на каждый из внутренних массивов. Организацию ступенчатого массива иллюстрирует

Описание ступенчатого массива:

тип[ ] [ ] имя;

Под каждый из массивов, составляющих ступенчатый массив, память требуется выделять явным образом, например:

int[ ] [ ] а = newint [3][ ]; / / выделение памяти под ссылки на три строки

а[0]= newint [5]; / / выделение памяти под 0-ю строку (5 элементов)

а[1] =newint [3]; / / выделение памяти под 1-ю строку (3 элемента)

а[2] = newint [4]; / / выделение памяти под 2-ю строку (4 элемента)

Другой способ выделения памяти:

int[ ] [ ] а = { new int[5], new int[3], new int[4] };

K элементу ступенчатого массива обращаются, указывая каждую размерность в своих квадратных скобках, например:

a[1][2] a[i][j] a[j][i]

В остальном использование ступенчатых массивов не отличается от использования прямоугольных.

Вопрос 34

Массивы. Класс System.Array. Основные элементы

Для облегчения программирования задач обработки массивов данных в С# все массивы имеют общий базовый класс Аrrау, определенный в пространстве имен System.

Основные элементы класса Аггау

Элемент Вид Описание
Length Свойство Количество элементов массива (по всем размерностям)
Rank Свойство Количество размерностей массива
BinarySearch Статический метод Двоичный поиск в отсортированном массиве
Сlear Статический метод Присваивание элементам массива значений по умолчанию
Сору Статический метод Копирование заданного диапазона элементов одного массива в другой массив
СоруТо Метод Копирование всех элементов текущего одномерного массива в другой одномерный массив
GetValue Метод Получение значения элемента массива
IndexOf Статический метод Поиск первого вхождения элемента в одномерныймассив
LastIndexOf Статический метод Поиск последнего вхождения элемента в одномерный массив
Reverse Статический метод Изменение порядка следования элементов на обратный
SetValue Метод Установка значения элемента массива
Sort Статический метод Упорядочивание элементов одномерного массива

Вопрос 35

Класс Random. Основные методы

Класс Random определенный в пространстве имен System содержит методы позволяющие при отладке программ генерировать исходные данные, заданные случайным образом. Для получения псевдослучайной последовательности чисел существует два варианта создания экземпляра класса Random: конструктор без параметров и конструктор с параметром типа int.

Конструктор без параметров:

Randoma = newRandom();

создает уникальную последовательность, так как использует начальное значение генератора, вычисленное на основе текущего времени.

Конструктор с параметром типа int:

Randomb=newRandom(5);

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

Основные методы класса System.Random

Название Описание
Next( ) Возвращает целое положительное число во всем положительном диапазоне типа int
Next(макс) Возвращает целое положительное число в диапазоне [0, макс]
Next(мин, макс) Возвращает целое положительное число в диапазоне [мин, макс]
NextDouble() Возвращает вещественное положительное число в диапазоне [0. 1)
NextBytes(массив) Возвращает массив чисел в диапазоне [0, 255]

Вопрос 36

Символьный тип char, описание, примеры

Символьный тип char базируется на стандартном классе Char библиотеки .NET из пространства имен System. Он является встроенным типом языка и предназначен для хранения символов в Unicode.

using System;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

char q;

do

{

Console.WriteLine( "Введитесимвол: ");

q = char.Parse (Console.ReadLine());

if (char.IsLetter(q)) Console.WriteLine("Буква");

if (char.IsUpper(q)) Console.WriteLine("Верхнийрег.");

if (char.IsLower(q)) Console.WriteLine("Нижнийрег.");

if (char.IsControl(q)) Console.WriteLine("Управляющий");

if (char.IsNumber(q)) Console.WriteLine("Число");

if (char.IsPunctuation(q)) Console.WriteLine("Разделитель");

}

while (q!='/');

}

}

}

Вопрос 37

Наши рекомендации