Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

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

Автор:   •  Февраль 23, 2022  •  Лекция  •  380 Слов (2 Страниц)  •  147 Просмотры

Страница 1 из 2

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

При работе с многомерными массивами чаще всего используют

матрицы. Матрица – это таблица однотипных данных, имеющая

заданное количество строк и столбцов.

По определению, каждый элемент характеризуется двумя индексами –

номером строки и номером столбца. Статические матрицы в С++

описываются следующим образом:

float y[5][4]; // вещественная матрица из 5-ти строк и 4-х столбцов.

Обращение к элементу матрицы, находящемуся в i-той строке и j-том

столбце – y[i][j]. Всегда первый индекс – номер строки, второй индекс –

номер столбца.

Инициализация элементов статической матрицы может выполняться

при описании:

int z[2][2] = {1,2,3,4};

Элементы при такой инициализации элементы записываются

построчно, то есть элементы строки с номером 0 – {1,2}, строки с

номером 1 – {3,4}.

При работе с матрицами разной размерности возможно использование

динамических матриц. Если одномерный массив описывается в С++ как

указатель, матрица описывается как указатель на указатель.

Обязательно выделение памяти, которое проводится по следующему

алгоритму:

1 Под указатель на указатель выделяется память под массив указателей

(каждый элемент этого массива сам будет массивом).

2 Под каждый элемент полученного массива указателей выделяется

память под одномерный массив.

Пример. Опишем динамическую матрицу и выделим память для

элементов такой матрицы.

int **M;

int n = 10; // количество строк

int m = 5; // количество столбцов

M = new int* [n];

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

M[i] = new int [m];

Освобождение занятой памяти происходит в обратном порядке:

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

delete [] M[i];

delete [] M;

Структуры

Для создания сложных типов данных в языке С++ используется тип

данных – структура.

Синтаксис описания структуры:

struct [имя]

{ тип поле1;

тип поле2;

}

...

Скачать:   txt (5.4 Kb)   pdf (49.2 Kb)   docx (10.2 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club