Uvod v večdimenzionalne matrike v C ++
Večdimenzionalni nizi v nizih C ++ se uporabljajo za shranjevanje podatkov v obliki tabele vrstic in stolpcev. Tu lahko ustvarimo enodimenzionalne ali večdimenzionalne matrike za shranjevanje vrednosti v različnih scenarijih. Enodimenzionalni niz ima eno dimenzijo, medtem ko je večdimenzionalni niz lahko dvodimenzionalen, tridimenzionalen itd. Večdimenzionalni niz lahko mislimo kot matriko nizov. Tu so podatki shranjeni v tabeli. V tem članku bomo videli, kaj je večdimenzionalni niz, uporaba večdimenzionalnega niza, kako do njih dostopati in kako učinkovito uporabljati večdimenzionalno matriko v naši kodi.
Element večdimenzionalnega niza v C ++
- Razmislimo o primeru matrike za razumevanje večdimenzionalnega niza. V 2D matriki bodo vrstice in stolpci. Da bi to predstavili, uporabljamo dvodimenzionalno matriko.
- V večdimenzionalnih nizih so podatki v obliki tabele, ki je v vrstnem redu velikega reda. Splošna sintaksa dvodimenzionalnega niza je spodaj.
data_type array_name(size1)(size2);
- Ne pozabite, da je velikost vedno pozitivna cela vrednost. Spodaj je primer tridimenzionalnega niza.
int matrix(3)(5);
Tu je matrica dvodimenzionalni niz, ki ima največ 15 elementov.
- Največje število elementov v matriki dobimo tako, da pomnožimo velikost vseh dimenzij. Na primer v 3DArray (2) (3) (4), največji element dobimo z množenjem 2, 3, 4, to je 24.
- Podobno lahko matrica (10) (10) (10) vsebuje 1000 elementov. To lahko vizualiziramo, saj lahko vsak od 10 elementov vsebuje 10 elementov, kar pomeni skupno 100 elementov. Na vsakih 100 elementov je lahko še 10 elementov, kar pomeni, da končno šteje 1000.
- Večdimenzionalni niz lahko ustvarimo tako, da najprej izdelamo enostavnejši niz in ga nato razširimo na zahtevano dimenzijo.
Inicializacija večdimenzionalnega niza
Naj nam vzame 3D matriko. Tridimenzionalni niz lahko inicializiramo na več načinov. Spodaj so primeri referenc.
int 3DArray(2)(2)(4) = (1, 3, 6, 5, 8, 9, -2, 4, 5, 10, 34, 56, 23, -56, 10, 37);
- Vrednosti v nalepkah cvetja od leve proti desni so shranjene v matriki kot tabela od leve proti desni. Vrednosti bodo izpolnjene v matriki v naslednjem vrstnem redu. Prvi elementi 4 z leve v prvi vrstici, naslednji 4 elementi v drugi vrstici in tako naprej.
- Zgornja inicializacija nam ne bo dala jasne slike matrike. Za boljšo vizualizacijo lahko inicializiramo isti niz kot spodaj.
int 3DArray(2)(2)(4) =
(
( (1, 3, 6, 5), (8, 9, -2, 4) ),
( (5, 10, 34, 56), (23, -56, 10, 37) )
);
Dostop do elementov v večdimenzionalnem nizu je podoben vsakemu drugemu nizu z uporabo indeksa elementa. Za dostop do vseh elementov znotraj matrike moramo uporabiti tri zanke. Spodaj je primer dostopa do elementa v 3D-matriki.
x(2)(1)(0)
- Pri nizih višjih dimenzij, kot so 4, 5, 6 itd., Je koncept precej podoben, vendar se kompleksnost ravnanja s stvarmi povečuje. Na primer, število uporabljenih zank, število iskanj elementov, dostop do določenega elementa itd.
- Elemente tridimenzionalnih ali višjih dimenzijskih nizov je mogoče premikati na različne načine. Ta operacija je podobna vektorjem in matricam. Za preureditev elementov znotraj matrike se uporabljajo različne tehnike, kot so preoblikovanje, permutacija in stiskanje. To so zapletene tehnike, za katere se za zdaj ne bi smeli bati.
Primer s koraki
Tu je nekaj primerov večdimenzionalnih nizov v C ++, ki so navedeni spodaj s koraki:
Primer # 1
Zdaj bomo te 2D matrike uporabili za razumevanje, kako bodo večdimenzionalni nizi delovali. Napisali bomo kodo C ++, ki bo od uporabnika vnesla dve matriki, jih dodala in prikazala rezultat dodajanja matric. Najprej bomo napisali glavni program za izvedbo.
Znotraj glavne funkcije bomo razglasili dva dvodimenzionalna niza, ki lahko shranita do 4 elemente.
Zdaj bomo od uporabnika zahtevali, da vnese 4 vrednosti za vsak niz.
Za shranjevanje vrednosti v matriko potrebujemo dve zanki, torej vsaka dimenzija uporablja eno zanko za premikanje. Vzeli bomo dva indeksa, i in j za obe dimenziji. Za boljše razumevanje kode bomo uporabili za zanko. Prvo za zanko predstavlja prvo dimenzijo, drugo za zanko za drugo dimenzijo. Znotraj drugega za zanko sprejemamo vhod od uporabnika.
Zdaj vzemite vhod za drugi niz na podoben način.
Ker so vrednosti shranjene v vsakem nizu, je čas, da uporabniku pokažemo dodavanje dveh nizov. Za to znova uporabljamo dve za zanke za prečkanje in tokratni znak za tiskanje vrednosti.
Izhod:
Primer # 2
Izjavimo matriko poljubnega števila elementov in jih uporabimo za izvajanje različnih funkcij, kot so seštevanje, odštevanje, množenje, obratno, preoblikovanje itd. Za odštevanje spodaj lahko uporabite kodo:
Izberite različne vhode in preverite izhode ter jih matematično določite.
Izhod:
Zaključek
V tem članku smo izvedeli, kaj je matrika, kaj je enodimenzionalni in večdimenzionalni niz, pomen večdimenzionalnega niza, kako inicializirati matriko in uporabiti večdimenzionalno matriko v programu glede na naše potrebe.
Priporočeni članki
To je vodnik za večdimenzionalne matrike v C ++. Tukaj razpravljamo o sintaksi, elementih in inicializaciji večdimenzionalnega niza v C ++ skupaj s primeri in koraki. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Večdimenzionalni niz na C
- Uvod v C ++
- Rust proti C ++
- Preobremenitev in preglasitev v C ++