Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2019-12-21 | 389 |
5.00
из
|
Заказать работу |
|
|
Ступенчатые массивы являются эффективными в случаях, если у двумерных прямоугольных массивов есть много элементов, которые вообще не используются. Это позволяет сэкономить память за счет выделения только необходимого объема памяти (количества элементов) для каждой строки ступенчатого массива.
31
Все массивы в C# построены на основе класса Array из пространства имен System. Этот класс определяет ряд свойств и методов, которые мы можем использовать при работе с массивами. Основные свойства и методы:
Разберем самые используемые методы. Например, изменим порядок элементов и размер массива:
1 2 3 4 5 6 7 8 9 10 11 12 | int[] numbers = { -4, -3, -2, -1,0, 1, 2, 3, 4 }; // расположим в обратном порядке Array.Reverse(numbers); // уменьшим массив до 4 элементов Array.Resize(ref numbers, 4); foreach(int number in numbers) { Console.Write($"{number} \t"); } |
Результат программы:
|
4 3 2 1
В функции Resize первым параметром является изменяемый массив, а второй - количество элементов, которые должны быть в массиве. Если второй параметр меньше длины массива, то массив усекается. Если значение параметра, наоборот, больше, то массив дополняется дополнительными элементами, которые имеют значение по умолчанию.
Метод Copy копирует часть одного массива в другой:
1 2 3 4 5 6 7 8 9 10 11 | int[] numbers = { -4, -3, -2, -1,0, 1, 2, 3, 4 }; int[] numbers2 = new int[5]; // копируем из numbers с 2-го индекса 5 элементов // и поместим их в массив numbers2, начиная с 0-го индекса Array.Copy(numbers, 2, numbers2, 0, 5); foreach(int number in numbers2) { Console.Write($"{number} \t"); } |
Результат программы:
-2 -1 0 1 2
Отсортируем массив с помощью метода Sort():
1 2 3 4 5 6 7 8 | int[] numbers = { -3, 10, 0, -5, 12, 1, 22, 3}; Array.Sort(numbers); foreach(int number in numbers) { Console.Write($"{number} \t"); } |
Результат работы программы:
-5 -3 0 1 3 10 12 22
32
При отладке программ, использующих массивы, удобно иметь возможность генерировать исходные данные, заданные случайным образом. В библиотеке C# класс Random используется для таких целей.
Для получения псевдослучайной последовательности чисел необходимо сначала создать экземпляр класса с помощью конструктора, например:
Random a = new Random(); // 1
Random b = new Random(1); //2
Есть два вида конструктора: конструктор без параметров (оператор 1), который использует начальное значение генератора, вычисленное на основе текущего времени. В этом случае каждый раз создается уникальная последовательность. Конструктор с параметром типа int (оператор 2) задает начальное значение генератора, что обеспечивает возможность получения одинаковых последовательностей чисел.
Для получения очередного значения серии пользуются методами, перечисленными в таблице 9.1.
Таблица 9.1 - Основные методы класса System.Random
Название | Описание |
Next () | Возвращает целое положительное число во всем положительном диапазоне типа int |
Next(мaкс) | Возвращает целое положительное число в диапазоне [0, макс] |
Next (мин, макс) | Возвращает целое положительное число в диапазоне [мин, макс] |
NextBytes(массив) | Возвращает массив чисел в диапазоне [0, 255] |
NextDoublе() | Возвращает вещественное положительное число в диапазоне [0, 1) |
Пример работы с генератором псевдослучайных чисел
|
using System:
namespace ConsoleApplicationl
{ class Classl
{ static void Main()
{
Random a = new Random();
Random b = new Random(1);
const int n = 10;
Console.WriteLine("\n Диапазон [0, 1]:");
for (int i = 0; i < n; ++i)
Console.Write("{0,6:0.##}", a.NextDouble());
Console.WriteLine("\n Диапазон [0, 1000]:");
for (int i = 0; i < n; ++i)
Console.Write(" " + b.Next(1000));
Console.WriteLine("\n Диапазон [-10, 10]:");
for (int i = 0; i < n; ++i)
Console.Write(" " + a.Next(-10, 10));
Console.WriteLine("\n Массив [0, 255]:");
byte[] mas = new byte[n];
a.NextBytes(mas);
for (int i = 0; i < n; ++i) Console.Write(" " + mas[i]);
} } }
33
Символьный тип 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!='/');
}
}
}
34
|
|
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!