Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Объявление и расположение в памяти.




Двумерные массивы, как частный случай многомерных массивов.

Мы с вами уже имеем понятие о том, что такое массивы, в прошлом уроке мы разобрали так называемый - одномерный массив. Одномерный массив - массив данных, где каждое значение обладает только одной характеристикой - порядковым номером (индексом). Именно по этому индексу мы и обращаемся к конкретному элементу.

Сегодня мы поговорим о многомерных массивах, т. е. о массивах, где каждый элемент описывается несколькими характеристиками. Примером значения многомерного массива может являться, что угодно:

1. Шахматная доска - каждая клетка имеет две размерности E2 (буква и цифра)

2. Оценка КВН - три размерности ЧЛЕН_ЖЮРИ, КОНКУРС, КОМАНДА.

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

Двумерный массив.

Объявление и расположение в памяти.

Двумерный массив представляет собой совокупность строк и столбцов, на пересечении которых находится конкретное значение. Объявить двумерный массив несложно, необходимо указать количество строк и столбцов. При этом, здесь действуют все теже правила, что и при объявлении одномерного массива. Т. е. нельзя в качестве количества строк и столбцов указывать неконстантные и нецелочисленные значения.

Общий синтаксис:   тип_данных имя_массива [число_строк][число_столбцов];   Пример: const int row=3; // строки const int col=4; // столбцы int array[row][col]; // массив размером row на col(3х4)

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

Инициализация.

Инициализация двумерного массива также аналогична инициализации одномерного:

1. Инициализация при создании.

  Каждая строка заключается в отдельные фигурные скобки:   int array[2][2]={{1,2},{7,8}};   Значения указываются подряд и построчно вписываются в массив:   int array[2][2]={7,8,10,3};   Если значение пропущенно, оно будет инициализированно нулем:   int array[3][3]={{7,8},{10,3,5}};

2. Инициализация c помощью цикла.

Откроем один секрет - двумерный массив можно рассматривать как совокупность, не просто строк, а одномерных массивов. То есть, один одномерный массив, мы заполняем простым циклом, перебирая конкретные элементы, а при совокупности, нам необходимо перебирать еще и отдельные массивы.

#include<iostream> #include<stdlib.h> // в этом файле содержатся функции rand и srand #include<time.h> // в этом файле содержится функция time using namespace std; void main() {   const int row=3; // строки const int col=3; // столбцы int mr[row][col]; // массив размером row на col   // перебираем отдельные строки (одномерные массивы в совокупности) for(int i=0; i<row; i++) { // перебираем отдельные элементы каждой строки for(int j=0; j<col;j++) { // инициализация элементов значениями в диапазоне от 0 до 100 mr[i][j]=rand()%100;   // показ значений на экран cout<<mr[i][j]<<" "; }   // переход на другую строку матрицы cout<<"\n\n"; }   }

Примечание: Обращение к конкретному элементу массива производится по номеру строки и номеру столбца, например - mr[2][1] - значение, лежащее на пересечении второй строки и первого столбца.

Работа с двумерным массивом не намного сложнее, чем с одномерным - докажем это на практике.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных