Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Инициализация двумерных массивов

Объявление двумерных массивов

Текст лекции.

Лекция 13. Двумерные массивы: задачи поиска, замены и суммирования элементов двумерного массива.

Краткая аннотация лекции.

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

Цель лекции: изучить понятия, особенности внутреннего представления способы генерации и вывода многомерных массивов, научиться выполнять объявление, инициализацию, генерацию и вывод двумерных массивов, использование алгоритмов поиска, замены и суммирования в двумерных массивах при решении задач на языке C++.

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

Двумерные массивы состоят из строк и столбцов.

Синтаксис определения массива без дополнительных спецификаторов и модификаторов имеет два формата:

Тип ИмяМассива[ВыражениеТипаКонстанты][ВыражениеТипаКонстанты];

или

Тип ИмяМассива[][];

ИмяМассива – идентификатор массива.

Тип – тип элементов объявляемого массива. Элементами массива не могут быть функции, файлы и элементы типа void.

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

· при объявлении массив инициализируется;

· массив объявлен как формальный параметр функции;

· массив объявлен как ссылка на массив, явно определенный в другом файле.

Например:

1) int a[100][50];//массив из 100´50 элементов целого типа

2) double d[4][10];// массив из 4´10 элементов типа double

3) int t=5, k=8;

float wer[2*t+k][2*t+k];

//массив из (2*t+k)´(2*t+k) элементов вещественного типа

4) int sample[853][157];

//массив из 853 строк и 157 столбцов, элементы типа int

равносильно объявлению

const int N_max=853,

int M_max=157;

int sample[N_max][M_max];

 

равносильно объявлению

#define N_max 853

#define M_max 157

...

int sample[N_max][M_max];

 

Двумерные массивы располагаются в памяти в порядке быстрого изменения последнего индекса. Так, например, данные двумерного массива (состоящего из 3 строк и 10 столбцов и определенного как float A[3][10];), располагаются следующим образом:

 

Строки Столбцы
  2 … 9
  A[0][0] A[0][1] … A[0][9]
  A[1][0] A[1][1] … A[1][9]
  A[2][0] A[2][1] … A[2][9]

 

Двумерные массивы инициализируются так же, как и одномерные.

Например:

int w[3][3]={

//инициализируется целочисленный массив размерностью 3´3

{2, 3, 4} //1-я строка

{3, 4, 8} //2-я строка

{1, 0, 9} //3-я строка

};

 

float w[2][3]={

//инициализируется вещественный массив размерностью 2´3

{2.1, 3.4, 4.5} //1-я строка

{5.0, 6.4, 3.9} //2-я строка

};

равносильно инициализации

float w[][3]={

{2.1, 3.4, 4.5} //1-я строка

{5.0, 6.4, 3.9} //2-я строка

};

Последовательности, выделенные в фигурные скобки, соответствуют строкам массива, в случае отсутствия скобок инициализация будет выполнена неправильно.

 

int w[3][5]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};

         
         
         

 

int w[3][5]={{1, 2, 3}, {4, 5, 6, 7, 8}, {9, 10, 11}};

         
         
         

 

<== предыдущая лекция | следующая лекция ==>
Упражнения | Определение размера памяти двумерных массивов
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 1376; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.