Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSBasicCourse2ndedPodbelsky / CSBasicCourse2ndedPodbelsky.rtf
Скачиваний:
27
Добавлен:
22.03.2016
Размер:
11.9 Mб
Скачать

Int size;

do Console.Write("size = ");

while (!int.TryParse(Console.ReadLine(), out size)||size<1);

int[ ][ ] tre = new int[size][ ];

for (int j = 0; j < size; j++)

{

tre[j] = new int[j + 1];

tre[j][j] = j + 1;

}

Console.WriteLine("Массив tre:");

for (int i = 0; i < tre.Length; i++, Console.WriteLine())

for (int j = 0; j < tre[i].Length; j++)

Console.Write(tre[i][j] + "\t");

Console.WriteLine("tre.Length = " + tre.Length);

int[ ][ ] two = (int[ ][ ])tre.Clone( );

two[0][0] = - size;

Console.WriteLine("Массив two:");

for (int i = 0; i < two.Length; i++, Console.WriteLine())

for (int j = 0; j < two[i].Length; j++)

Console.Write(two[i][j] + "\t");

Console.WriteLine("Массив tre:");

for (int i = 0; i < tre.Length; i++, Console.WriteLine())

for (int j = 0; j < tre[i].Length; j++)

Console.Write(tre[i][j] + "\t");

}

}

Результат выполнения программы:

size = 4<ENTER>

Массив tre:

1

0 2

0 0 3

0 0 0 4

tre.Length = 4

Массив two:

-4

0 2

0 0 3

0 0 0 4

Массив tre:

-4

0 2

0 0 3

0 0 0 4

В программе определена ссылка two типа int[ ][ ] и ей присвоен результат

копирования (клонирования) "треугольного" массива, адресованного ссылкой tre,

имеющей тип int[ ][ ]. С помощью оператора

two[0][0] = - size;

изменён один целочисленный элемент "нижнего уровня" массива массивов. После

присваивания изменилось значение, соответствующее выражению tre[0][0].

Контрольные вопросы

Являются ли типы массивов типами значений?

Какое значение имеет индексирующее выражение при обращении к первому

элементу одномерного массива?

Какой тип может иметь индексирующее выражение?

Где размещается (в стоке или в куче) ссылка на массив?

При выполнении какой операции создаётся объект класса массивов?

Что такое класс массивов?

Какие значения принимают элементы массива при отсутствии в его определении

инициализатора?

Какова структура инициализатора массива?

Чем определяется количество инициализирующих выражений в инициализаторе

массива?

Объясните назначение всех элементов цикла foreach.

Каково назначение и возможности переменной цикла foreach.

Можно ли изменить размер массива-объекта после его создания?

Можно ли изменить размер массива-объекта в процессе выполнения программы?

Назовите свойства массивов, унаследованные ими от класса Array.

Приведите примеры нестатических методов одномерных массивов.

Приведите примеры статических методов одномерных массивов.

В чём различия методов Copy() и Clone()?

Что такое размерность массива?

Что такое спецификатор размерности массива?

Допустимо ли динамическое определение размеров многомерных массивов?

Чему равно свойство Length для многомерного массива?

С помощью каких средств можно получить размер многомерного массива по

нужному измерению?

Сколько спецификаторов размерности в объявлении типа четырёхмерного

массива?

Перечислите синтаксические отличия массива/массивов от двумерного массива.

Сколько операций new в определении объекта трёхмерного массива?

Чему равно свойство Rank массива массивов?

В каком случае при клонировании массива проявляется эффект поверхностного

копирования?

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