Bevezetés a C ++ multidimenziós tömbjeibe
A C ++ tömbökben a többdimenziós tömbökkel az adatokat sorok és oszlopok táblázataként tárolhatják. Itt létrehozhatunk egy- vagy többdimenziós tömböket az értékek különböző forgatókönyvekben való tárolására. Az egydimenziósnak van egy dimenziója, míg a többdimenziós tömb lehet 2dimenziós, 3dimenziós stb. A multidimenziós tömböt tömbök tömbjeként gondolhatjuk. Itt az adatokat táblázatos formában tárolják. Ebben a cikkben meglátjuk, mi a többdimenziós tömb, a többdimenziós tömb használata, hogyan érhető el hozzájuk, és hogyan lehet hatékonyan használni a többdimenziós tömböt kódunkban.
A többdimenziós tömb eleme a C ++-ban
- Nézzük meg például a mátrix példáját a többdimenziós tömb megértéséhez. A 2D mátrixban sorok és oszlopok lesznek. Annak érdekében, hogy ezt ábrázoljuk, egy 2D dimenziós tömböt használunk.
- Többdimenziós tömbökben az adatok táblák formájában vannak, azaz sorok és nagyobbak sorrendjében. A 2-dimenziós tömb általános szintaxisa az alábbiakban látható.
data_type array_name(size1)(size2);
- Ne feledje, hogy a méret mindig pozitív egész szám. Az alábbiakban egy példa egy háromdimenziós tömbre.
int matrix(3)(5);
Itt a mátrix egy kétdimenziós tömb, legfeljebb 15 elemmel.
- A tömbben található elemek maximális számát az összes méret nagyságának szorzásával lehet elérni. Például a 3DArray (2) (3) (4) esetében a maximális elem a 2, 3, 4, azaz 24 szorzásával nyerhető.
- Hasonlóképpen a (10) (10) (10) mátrix 1000 elemet képes tárolni. Ezt elképzelhetjük, mivel a 10 elem mindegyike 10 elemet képes tartani, ami összesen 100 elemből áll. Minden 100 elem további 10 elemet tarthat, ami a végső számot 1000-nek teszi.
- Hozzunk létre egy többdimenziós tömböt, ha előbb létrehozunk egy egyszerűbb tömböt, majd kiterjesztjük a kívánt dimenzióra.
Egy többdimenziós tömb inicializálása
3D-s tömb felvétele. A háromdimenziós tömb sokféleképpen inicializálható. Az alábbiakban példákat mutatunk be referenciaként.
int 3DArray(2)(2)(4) = (1, 3, 6, 5, 8, 9, -2, 4, 5, 10, 34, 56, 23, -56, 10, 37);
- A balról jobbra mutató virágtartók értékeit a tömb belsejében táblázatként tárolják balról jobbra. Az értékeket a tömb a következő sorrendben tölti ki. Az első sorban az első 4 elem balról, a második sorban a következő 4 elem és így tovább.
- A fenti inicializálás nem ad világos képet a tömbről. A jobb megjelenítés érdekében ugyanazt a tömböt inicializálhatjuk, mint az alábbiakban.
int 3DArray(2)(2)(4) =
(
( (1, 3, 6, 5), (8, 9, -2, 4) ),
( (5, 10, 34, 56), (23, -56, 10, 37) )
);
Az elemek elérése a többdimenziós tömbben hasonló az összes többi tömbhöz, az elem indexének felhasználásával. Három hurkot kell használnunk a tömbben lévő összes elem eléréséhez. Az alábbiakban bemutatunk egy példát egy elemhez egy 3D tömbben.
x(2)(1)(0)
- Nagyobb méretű tömbök, például 4, 5, 6 stb. Esetében a koncepció meglehetősen hasonló, de a dolgok kezelésének bonyolultsága növekszik. Például a felhasznált hurkok száma, az elemkeresések száma, az adott elem elérése stb.
- A háromdimenziós vagy magasabb dimenziós tömbök elemei különböző módon mozgathatók. Ez a művelet hasonló a vektorokhoz és mátrixokhoz. Különböző technikákat, például átalakítást, permutálást és sajtolást használnak az elemek átrendezéséhez a tömb belsejében. Ezek azok a komplex technikák, amelyeket most nem kell aggódnunk.
Példa a lépésekkel
Íme néhány példa a C ++ többdimenziós tömbjeire, alább, lépésekkel:
1. példa
Most ezeket a 2D tömböket fogjuk használni annak megértéséhez, hogy a többdimenziós tömbök hogyan fognak működni. Írunk egy C ++ kódot, amely felhasználja a felhasználót a két mátrix számára, hozzáadja azokat és megjeleníti a mátrixok hozzáadásának eredményét. Először megírjuk a végrehajtás fő programját.
A fő funkción belül két 2 dimenziós tömböt deklarálunk, amelyek akár 4 elemet is tárolhatnak.
Most megkérjük a felhasználót, hogy adjon meg 4 értéket minden tömbhez.
Az értékek tömbbe történő tárolásához két hurokra van szükség, azaz minden dimenzió egy hurkot használ a mozgáshoz. Két indexet veszünk, i és j a két dimenzióhoz. A kód jobb megértése érdekében a ciklust fogjuk használni. Az első a hurok számára jelenti az első dimenziót, a második a hurok a második dimenzióhoz. A hurok másodpercén belül a felhasználó adatait vesszük.
Most vegye be a második tömb bevitelét hasonló módon.
Mivel az értékeket minden tömbben tárolják, itt az ideje, hogy megmutassuk a felhasználó számára két tömb hozzáadását. Ehhez ismét a kettőt használjuk a hurkokhoz az áthaladáshoz, és ezúttal az értékek kinyomtatásához.
Kimenet:
2. példa
Tetszőleges számú elem tömbjét deklaráljuk, és különféle funkciók végrehajtására használjuk, például összeadásra, kivonásra, szorzásra, inverzre, transzformációra stb. A kivonáshoz a kód használható:
Válasszon különböző bemeneteket, ellenőrizze a kimeneteket, és matematikailag illessze őket össze.
Kimenet:
Következtetés
Ebben a cikkben megtudtuk, mi az a tömb, mi az egy- és többdimenziós tömb, a multidimenziós tömb jelentőségét, hogyan lehet inicializálni a tömböt és a többdimenziós tömb felhasználását a programban igényeink alapján.
Ajánlott cikkek
Ez egy útmutató a C ++ multidimenziós tömbjeihez. Itt tárgyaljuk a szintaxist, az elemeket és a többdimenziós tömb inicializálását a C ++ formában, példákkal és lépésekkel együtt. A következő cikkeket is megnézheti további információkért -
- Többdimenziós tömb C-ben
- Bevezetés a C ++ -ba
- Rozsda vs C ++
- Túlterhelés és felülbírálás a C ++-ban