АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Многомерные массивы. Для создания динамического многомерного массива необходимо указать в операции new все его размерности (самая левая размерность может быть переменной)

Читайте также:
  1. Воздействия на горные породы и их массивы
  2. ДВУМЕРНЫЕ МАССИВЫ
  3. Двумерные массивы
  4. Динамические массивы
  5. Дисковые массивы RAID
  6. Духовное развитие. Многомерные реальности.
  7. Задания на «Одномерные массивы»
  8. Криминалистические информационные массивы международных организаций
  9. Линейные массивы
  10. Массивы
  11. Массивы как члены классов. Массивы объектов. Строки как члены классов. Массивы строк.
  12. Массивы элементов

Для создания динамического многомерного массива необходимо указать в операции new все его размерности (самая левая размерность может быть переменной)

Более универсальный и безопасный способ выделения памяти под двумерный массив, когда обе его размерности задаются на этапе выполнения программы.

 

O int nstr, nstb;

O cout «" Введите количество строк и столбцов:";

O cin» nstr» nstb;

O int **a = new int *[nstr]; // 1

O for(int i = 0; i<nstr; i++) // 2

O a[i] = new int [nstb]; // 3

 

Передача массивов в качестве параметров

 

Массив всегда передается по адресу. При этом информация о количестве элементов массива теряется, и следует передавать его размерность через отдельный параметр (если размерность массива является константой, проблем не возникает, поскольку можно указать ее и при описании формального параметра, и в качестве границы циклов при обработке массива внутри функции).

 

 

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

Внутри функции массив интерпретируется как одномерный, а его индекс пересчитывается в программе. В приведенном ниже примере с помощью функции подсчитывается сумма элементов двух двумерных массивов. Размерность массива b известна на этапе компиляции, под массив a память выделяется динамически.

 

 

 



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)