Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Массивы многомерные

Читайте также:
  1. Двумерные массивы
  2. Динамические массивы
  3. Задание №2. Двумерные массивы
  4. Массивы
  5. Массивы
  6. Массивы строк

Массивы могут иметь несколько измерений. Например, матрица - это двухмерный массив. В примере показано объявление двухмерного и трёхмерного массивов:

int[,] my_matrix1 = new int[4, 2];int[,,] my_cube1 = new int[4, 2, 3];

Массив можно инициализировать при объявлении, как показано в следующем примере:

int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };int[,,] array3D = new int[,,] { { { 1, 2, 3 } }, { { 4, 5, 6 } } }; int[,] array4 = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };

Если нужно создать переменную массива без инициализации, то необходимо использовать оператор new, чтобы присвоить массив переменной. Например:

int[,] array5;array5 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // OK//array5 = {{1,2}, {3,4}, {5,6}, {7,8}}; // Будет ошибка!

В следующем примере кода переменные массивов инициализируются значениями по умолчанию:

int[,] array6 = new int[10, 10];

Доступ к каждому элементу массива можно осуществить через квадратные скобки. Индексация многомерных массивов начинается с нуля:

array5[2, 1] = 25;

Пример 1: осуществить ввод и распечатку содержимого матрицы

//описываем необходимые переменныеint i,j, M,N; string s;//вводим число элементовConsole.Write("Введите число строк матрицы N=");s = Console.ReadLine();N = Convert.ToInt32(s);Console.Write("Введите число столбцов матрицы M=");s = Console.ReadLine();M = Convert.ToInt32(s); //создаём двухмерный массив необходимой длиныint[,] my_matrix= new int[N,M]; //запускаем циклы по всем элементам матрицыfor (i = 0; i < N; i++) //цикл по строкам for (j = 0; j < M;j++) //цикл по столбцам { //вводим i,j-ый элемент Console.Write("Введите элемент матрицы ({0},{1}) ", i+1,j+1); s = Console.ReadLine(); my_matrix[i,j] = Convert.ToInt32(s); }Console.WriteLine();for (i = 0; i < N; i++) { for (j = 0; j < M; j++) Console.Write("{0,3} ", my_matrix[i, j]); Сonsole.WriteLine(); }


Рисунок 1 - Пример выполнения

 

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

int i,j,k,b,M,N;int[,] my_matrix = new int[,] { { 1, 3, 4}, { 1, 4, 8 }, { 5, 8,6 }, { 7, 8, 2 } };N = 4; M = 3; for (i = 0; i < N; i++) //цикл по строкам for (j = 0; j < M-1; j++) //цикл по столбцам for (k = 0; k < M - j-1; k++) if (my_matrix[i, k] > my_matrix[i, k+1]) { b = my_matrix[i, k]; my_matrix[i, k] = my_matrix[i, k + 1]; my_matrix[i, k + 1] = b; }


Рисунок 2 - Пример выполнения

 


Дата добавления: 2015-07-24; просмотров: 61 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Bosch Junior Maxi – корм для щенков крупных и гигантских пород| Двумерные массивы

mybiblioteka.su - 2015-2024 год. (0.007 сек.)