Навігація
Головна
 
Головна arrow Інформатика arrow Об'єктно-орієнтоване програмування
< Попередня   ЗМІСТ   Наступна >

БАГАТОВИМІРНІ МАСИВИ

Одномірні масиви дозволяють задавати такі математичні структури, як вектори, але крім них також використовуються багатовимірні масиви, наприклад, для роботи з матрицями або таблицями (двовимірні масиви), кубами даних або наборами однотипних таблиць - це тривимірні масиви. Оголошення багатовимірного масиву виконується в такий спосіб:

<Тип> [...,] <ім'я_змінної>;

Відзначимо, що в квадратних дужках стоїть кількість ком на одиницю менше розмірності оголошується масиву. Для створення самого масиву використовується операція new:

ім'я_змінної = new тип [n1, ..., nm];

Одночасно можна виконати ініціалізацію масиву. Дані для ініціалізації задаються в фігурних дужках, при цьому дані по кожному рядку полягають в свої фігурні дужки. Нижче показаний приклад оголошення ініціалізації двовимірного масиву:

int [,] ms = new int [2,3] [1] ;

Доступ до елементів масиву виконується шляхом вказівки в квадратних дужках індексів по кожній розмірності, розділених комою. наприклад:

int k = ms [1,2]; // отримаємо значення 6

Нижче наведено приклад використання двомірного масиву:

int s = 0;

for (int i = 0; i <2; i ++)

for (int j = 0; j <3; j ++) s + = ms [i, j];

В результаті виконання цього коду змінна s отримає значення 21.

СТУПІНЧАСТІ МАСИВИ

Новим видом масивів C # є ступінчасті масиви (jogged arrays). Такий масив можна розглядати як одновимірний масив , елементи якого самі є масивами , елементи яких, в свою чергу, знову можуть бути масивами , і так може тривати до деякого рівня вкладеності. Оголошення таких масивів виконується наступним чином:

<Тип> [] ... [] <імя_массіва>; імя_массіва = new <тип> [кількість] ... [];

При цьому в конструкторі масиву у останньої розмірності кількість елементів не задається. наприклад:

int nn jagged = new int [3] [];

Для створення самих рядків масиву потрібно створити об'єкти відповідних типів: jagged [0] = new int [2] {1,2}; jagged [1] = new int [6] {3, 4, 5, 6}; jagged [2] = new int [3] {7, 8, 9};

Схема даного ступеневої масиву показана на рис. 3.6.

Структура ступеневої масиву jagger

Мал. 3.6. Структура ступеневої масиву jagger

Індекси елементів такого масиву задаються в різних квадратних дужках. наприклад:

jagged [row] [e]

Нижче наведено приклад роботи зі ступінчастим масивом:

for (int row = 0; row <jagged.Length; row ++) {for (int e = 0; e <jagged [row] .Length; e ++) {

Console. Write ( "{0}, {1}, {2};", row, e, jagged [row] [e]);

}

Console.WriteLine ();}

Результатом роботи даного прикладу буде:

  • 0,0,1: 0,1,2;
  • 1,0,3: 1,1,4: 1,2,5: 1,3,6:
  • 2,1,7: 2,2,8: 2,3,9:

МАСИВИ ЯК КОЛЕКЦІЇ

Масиви C # можна також розглядати як колекції та працювати з ними, не використовуючи індекси для отримання потрібного елемента. У цьому випадку замість циклів типу for по кожному виміру досить використовувати єдиний цикл foreach. Однак зазначимо, що є тільки можливість читання елементів колекції (масиву), але немає можливості їх зміни. Нижче наведено приклад коду для виведення елементів масиву на екран:

string [] ss = new string () { "pa3". "два". "три"}

foreach (string s in A) Console.Write (s);

  • [1] 1,2,3), {4,5,6
 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук