multidimensional arrays c
Role vícerozměrného pole v C ++ s příklady.
Až dosud jsme v našich dřívějších výukových programech viděli vše o jednorozměrných polích.
C ++ také podporuje pole s více než jednou dimenzí. Nazývají se vícerozměrná pole. Vícerozměrná pole jsou obvykle uspořádána v tabulkové formě, tj. V pořadí hlavních řádků.
=> Podívejte se na celou sérii školení C ++ zde.
Co se naučíte:
Vícerozměrná pole v C ++
Zvažte vícerozměrné pole rozměrů 3 × 2, tj. 3 řádky a 2 sloupce.
Toto pole reprezentujeme takto:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Jak je znázorněno ve výše uvedené reprezentaci, každá buňka Např. R1C1 bude obsahovat obsah pole.
Počet prvků přítomných ve vícerozměrném poli je součinem jeho rozměrů. To znamená, že pokud jsou rozměry pole 3 × 2, pak počet prvků v tomto poli je součinem 3 a 2, tj. 6. Podobně, pokud jsou rozměry vícerozměrného pole (10) (20) (10) pak počet prvků v tomto poli je 10 * 20 * 10 = 2000.
Dvourozměrné pole je nejjednodušší forma vícerozměrného pole používaného v C ++.
Deklarace pole
Obecná deklarace vícerozměrného pole v C ++ je uvedena níže:
dataType arrayName (size1)(size2)….(sizen);
Zde je dataType datový typ pole. Datový typ by měl být podporován v C ++.
arrayName je název vícerozměrného pole.
Size1, size2… .sizen jsou velikosti každého z rozměrů pole.
Například,deklarujme pole o velikosti 3 × 2, tj. dvojrozměrné pole, myarray_2d.
int myarray_2d (3)(2);
Dvourozměrné pole je reprezentováno ve formě řádků a sloupců.
Výše uvedenou deklaraci pole lze tedy vyjádřit takto:
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
Jak je znázorněno ve výše uvedené reprezentaci, ke každému prvku 2-dimenzionálního pole se přistupuje jako k myarray_2d (i) (j), kde i je číslo řádku a pohybuje se od 0 do n-1, kde n je velikost dimenze a j je číslo sloupce a pohybuje se od 0 do m-1, kde m je velikost kóty sloupce.
Inicializace vícerozměrných polí
Můžeme inicializovat vícerozměrná pole podobná jednorozměrným polím. Vícedimenzionální pole jsou inicializována po řádcích.
Existují dva způsoby, kterými můžeme inicializovat vícerozměrná pole.
# 1) Zvažte pole s rozměry (3) (2) s názvem myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Zde je inicializace pole zleva doprava způsobem řádek po řádku. Protože rozměry jsou (3) (2), první dva prvky budou tvořit první řádek atd.
Obrázkové znázornění této inicializace bude vypadat takto:
1 | dva |
3 | 4 |
5 | 6 |
# 2) Stejné pole zobrazené výše lze inicializovat jiným způsobem, jak je znázorněno níže:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Zde se inicializace provádí zleva doprava a každý prvek odpovídá jednomu řádku. Protože pro toto pole existují tři řádky, máme tři vnitřní prvky uzavřené ve složených závorkách ({}).
Tento způsob inicializace je čitelnější a je výhodný, když rostou rozměry pole.
Přístup k vícerozměrným polím
K vícerozměrným prvkům pole se přistupuje pomocí indexu řádků a indexu sloupců.
Podívejme se příklad dvourozměrného pole s rozměry (3) (3). Níže je uveden kód pro jeho inicializaci.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Pokud chci získat přístup k druhému prvku v prvním řádku a přiřadit jej k celočíselné proměnné, pak řádek kódu bude:
int val_2d = newarray(0)(1);
Níže je ukázkový program, který zobrazuje deklaraci, inicializaci a přístup k dvourozměrnému poli.
#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< Tento program vytváří následující výstup:
1 2 3 4 5 6 7 8 9
Jak je uvedeno ve výše uvedeném programu, je dvourozměrné pole deklarováno a poté inicializováno. Potom pro přístup a tisk všech prvků pole jsme nastavili dva pro smyčky. Vnější smyčka for má přístup k prvkům po řádcích. Vnitřní smyčka for funguje jako čítač pro přístup k prvkům v každém sloupci.
ladění výkonu v otázkách Oracle rozhovoru
Tímto způsobem přistupujeme ke každému prvku tohoto dvourozměrného pole a zobrazujeme jej na obrazovce.
Závěr
Vícerozměrná pole mohou mít libovolný počet dimenzí a s rostoucím počtem dimenzí se podle toho také zvyšuje složitost.
Ačkoli jsme ve všech výše uvedených příkladech použili dvourozměrná pole, můžeme kódovat pole s vyššími rozměry podobným způsobem.
=> Klikněte sem a získejte bezplatný kurz C ++.
Doporučené čtení
- Pole v STL
- Používání polí s funkcemi v C ++
- C ++ pole s příklady
- VBScript Arrays: Using DIM, REDIM, Split, and Ubound Array Functions
- Vložte více dokumentů do MongoDB pomocí polí
- Nejlepší ZDARMA C # Tutorial Series: The Ultimate C # Guide For Beginners
- Java DataTypes, Loops, Arrays, Switch a Assertions
- Pokročilé skriptování prostředí Unix: pole, operátory testování souborů a řetězců, speciální proměnné