multidimensional arrays c
Роля на многомерния масив в C ++ с примери.
Досега в нашите по-ранни уроци видяхме всичко за едномерните масиви.
C ++ също поддържа масиви с повече от едно измерение. Те се наричат многомерни масиви. Многомерните масиви обикновено са подредени в таблична форма, т.е. в ред-основен ред.
=> Потърсете тук цялата серия за обучение на C ++.
Какво ще научите:
Многомерни масиви в C ++
Помислете за многомерен масив с размери 3 × 2, т.е. 3 реда и 2 колони.
Представяме този масив, както следва:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Както е показано в горното представяне, всяка клетка E.g. R1C1 ще съдържа съдържанието на масива.
Броят на елементите, присъстващи в многомерен масив, е произведение на неговите размери. Това означава, че ако размерите на масив са 3 × 2, тогава броят на елементите в този масив е произведение на 3 и 2, т.е. 6. По същия начин, ако размерите на многомерния масив са (10) (20) (10) тогава броят на елементите в този масив е 10 * 20 * 10 = 2000.
Двумерният масив е най-простата форма на многомерния масив, използван от C ++.
Деклариране на масив
Обща декларация за многомерния масив в C ++ е показана по-долу:
dataType arrayName (size1)(size2)….(sizen);
Тук dataType е типът данни на масива. Типът данни трябва да се поддържа от C ++.
arrayName е името на многомерния масив.
Size1, size2 ... .sizen са размерите на всеки от размерите на масива.
Например,нека декларираме масив с размер 3 × 2, т.е. двуизмерен масив, myarray_2d.
int myarray_2d (3)(2);
Двуизмерен масив е представен под формата на редове и колони.
Така горната декларация на масива може да бъде представена по следния начин:
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
Както е показано в горното представяне, всеки елемент от двуизмерен масив е достъпен като myarray_2d (i) (j), където i е номерът на реда и варира от 0 до n-1, където n е размерът на размера и j е номер на колона и варира от 0 до m-1, където m е размерът на колоната.
Инициализиране на многомерни масиви
Можем да инициализираме многомерни масиви, подобни на едномерните масиви. Многомерните масиви се инициализират по ред.
Има два начина, чрез които можем да инициализираме многомерни масиви.
# 1) Помислете за масив с размери (3) (2) с име myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Тук инициализацията на масива е отляво надясно подред по ред. Тъй като размерите са (3) (2), първите два елемента ще образуват първия ред и т.н.
Изобразителното представяне на тази инициализация ще изглежда както е показано по-долу:
1 | две |
3 | 4 |
5 | 6 |
# 2) Същият масив, показан по-горе, може да бъде инициализиран по различен начин, както е показано по-долу:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Тук инициализацията се извършва отляво надясно и всеки елемент съответства на един ред. Тъй като има три реда за този масив, имаме три вътрешни елемента, затворени в къдрави скоби ({}).
Този начин на инициализация е по-четлив и е изгоден, когато размерите на масива растат.
Достъп до многомерни масиви
До многомерните елементи на масива се осъществява достъп чрез индекса на редове и индекса на колони.
Нека да видим пример на двуизмерен масив с размери (3) (3). По-долу е даден кодът за инициализиране.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Ако искам да вляза във втория елемент в първия ред и да го присвоя на целочислена променлива, тогава редът на кода ще бъде:
int val_2d = newarray(0)(1);
По-долу е дадена примерна програма, която показва деклариране, инициализация и достъп до двуизмерен масив.
#include using namespace std; int main() { int myarray(3)(3) = {{1,2,3},{4,5,6},{7,8,9}}; for(int i=0;i <3;i++) { for(int j=0;j<3;j++) { cout< Тази програма дава следния изход:
1 2 3 4 5 6 7 8 9
Както е показано в горната програма, се декларира двуизмерен масив и след това се инициализира. След това за достъп и отпечатване на всички елементи на масива сме задали две за цикли. Външният цикъл for е за достъп до елементите по ред. Вътрешният цикъл for действа като брояч за достъп до елементите във всяка колона.
мобилен телефон шпионски софтуер за android -
По този начин осъществяваме достъп до всеки елемент от този двуизмерен масив и го показваме на екрана.
Заключение
Многомерните масиви могат да имат произволен брой измерения и с увеличаване на броя на измеренията сложността също се увеличава съответно.
Въпреки че сме използвали двумерни масиви във всички горепосочени примери, можем да кодираме масиви с по-високи размери по подобен начин.
=> Щракнете тук за безплатния курс C ++.
Препоръчително четене
- Масиви в STL
- Използване на масиви с функции в C ++
- C ++ масиви с примери
- VBScript масиви: Използване на функции DIM, REDIM, разделяне и Ubound масив
- Поставете множество документи в MongoDB с помощта на масиви
- Най-добрият БЕЗПЛАТЕН урок за C #: Най-доброто ръководство за C # за начинаещи
- Java DataTypes, Loops, Arrays, Switch и Assertions
- Разширени скриптове на Unix Shell: масиви, оператори за тестване на файлове и низове, специални променливи