Въведение в многоизмерни масиви в C ++
Многомерните масиви в C ++ масиви се използват за съхраняване на данните под формата на таблица от редове и колони. Тук можем да създадем единични или многоизмерни масиви, които да държат стойности в различни сценарии. Едномерният масив има едно измерение, докато многоизмерен масив може да бъде двумерен, триизмерен и т.н. Можем да мислим за многоизмерния масив като масив от масиви. Тук данните се съхраняват в табличен вид. В тази статия ще видим какво е многоизмерен масив, използването на многоизмерен масив, как да получим достъп до тях и как да използваме ефективно многоизмерен масив в нашия код.
Елемент от многоизмерен масив в C ++
- Нека разгледаме примера на матрица, за да разберем многоизмерния масив. В 2D матрица ще има редове и колони. За да представим това, използваме двуизмерен масив.
- Данните в многоизмерните масиви са под формата на таблица, които са в ред-основен ред. Общият синтаксис на двуизмерен масив е както е показано по-долу.
data_type array_name(size1)(size2);
- Не забравяйте, че размерът винаги е положителна цяло число. По-долу е примерът на триизмерен масив.
int matrix(3)(5);
Тук матрицата е двумерен масив, имащ максимум 15 елемента.
- Максималният брой елементи, съдържащи се в масива, се получава чрез умножаване на размера на всички размери. Например в 3DArray (2) (3) (4) максималният елемент се получава чрез умножаване на 2, 3, 4, т.е. 24.
- По подобен начин матрицата (10) (10) (10) може да побере 1000 елемента. Можем да визуализираме това, тъй като всеки от 10-те елемента може да побере 10 елемента, което прави общо 100 елемента. На всеки 100 елемента могат да се съдържат още 10 елемента, което прави крайния брой 1000.
- Можем да създадем многоизмерен масив, като първо създадем по-опростен масив и след това го разширим до необходимата величина.
Инициализация на многоизмерен масив
Позволява ни да вземем 3D масив. Можем да инициализираме триизмерен масив по много начини. По-долу са дадени примери за справка.
int 3DArray(2)(2)(4) = (1, 3, 6, 5, 8, 9, -2, 4, 5, 10, 34, 56, 23, -56, 10, 37);
- Стойностите в цветните скоби отляво надясно се съхраняват в масива като таблица отляво надясно. Стойностите ще бъдат попълнени в масива в следния ред. Първи 4 елемента отляво в първия ред, следващите 4 елемента във втория ред и така нататък.
- Горната инициализация няма да ни даде ясна картина на масива. За по-добра визуализация можем да инициализираме същия масив като по-долу.
int 3DArray(2)(2)(4) =
(
( (1, 3, 6, 5), (8, 9, -2, 4) ),
( (5, 10, 34, 56), (23, -56, 10, 37) )
);
Достъпът до елементи в многоизмерния масив е подобен на всеки друг масив, като се използва индексът на елемента. Трябва да използваме три бримки за достъп до всички елементи в масива. По-долу е даден пример за достъп до елемент в 3D масив.
x(2)(1)(0)
- При масиви с по-големи измерения като 4, 5, 6 и т.н., концепцията е доста сходна, но сложността на работа с нещата се увеличава. Например, броя на използваните цикли, броя търсения на елементи, достъп до конкретния елемент и др.
- Елементите на триизмерни или по-високомерни масиви могат да се движат по различни начини. Тази операция е подобна на вектори и матрици. За пренареждане на елементи в масива се използват различни техники като прекрояване, пермутиране и притискане. Това са сложните техники, за които засега няма нужда да се притесняваме.
Пример със стъпки
Ето няколко примера за многомерни масиви в C ++, дадени по-долу със стъпки:
Пример №1
Сега ще използваме тези 2D масиви, за да разберем как ще работят многоизмерните масиви. Ще напишем C ++ код, който ще вземе информация от потребителя за две матрици, ще ги добави и ще покаже резултата от добавянето на матриците. Първо, ще напишем основната програма за изпълнението.
Вътре в основната функция ще декларираме два двумерни масива, които могат да съхраняват до 4 елемента.
Сега ще помолим потребителя да въведе 4 стойности за всеки масив.
За да съхраним стойностите в масива, ни трябват два цикъла, т.е. всяка величина използва един цикъл за преминаване. Ще вземем два индекса, i и j за двете измерения. За по-добро разбиране на кода, ще използваме за цикъл. Първо за контура представлява първото измерение, второто за контура за второто измерение. Вътре във втората за цикъл вземаме входа от потребителя.
Сега вземете вход за втория масив по подобен начин.
Тъй като стойностите се съхраняват във всеки масив, е време да покажем добавянето на два масива към потребителя. За това отново използваме двете за контури за преминаване и този път мотив за отпечатване на стойностите.
изход:
Пример №2
Ние декларираме масив от произволен брой елементи и ги използваме за изпълнение на различни функции като събиране, изваждане, умножение, обратна, преобразуваща и т.н. За изваждане по-долу може да се използва код:
Изберете различни входове и проверете изходите и ги наредете математически.
изход:
заключение
В тази статия научихме какво е масив, какво е единичен и многоизмерен масив, значението на многоизмерния масив, как да инициализираме масива и да използваме многоизмерния масив в програмата въз основа на нашите нужди.
Препоръчителни статии
Това е ръководство за многомерни масиви в C ++. Тук обсъждаме синтаксис, елементи и инициализация на многоизмерен масив в C ++ заедно с примери и стъпки. Можете също да разгледате следните статии, за да научите повече-
- Многоизмерен масив в С
- Въведение в C ++
- Ръст срещу C ++
- Претоварване и преодоляване в C ++