Viacrozmerné polia v C ++ - Syntax, prvky, príklady s krokmi

Obsah:

Anonim

Úvod do viacrozmerných polí v C ++

Viacrozmerné polia v poliach C ++ sa používajú na ukladanie údajov vo forme tabuľky riadkov a stĺpcov. Tu môžeme vytvoriť jedno alebo viacrozmerné polia na uchovávanie hodnôt v rôznych scenároch. Jednorozmerný má jednu dimenziu, zatiaľ čo viacrozmerné pole môže byť dvojrozmerné, trojrozmerné atď. Viacrozmerné pole môžeme považovať za sústavu polí. Tu sa dáta ukladajú do tabuľky. V tomto článku sa dozvieme, čo je multidimenzionálne pole, použitie viacrozmerného poľa, ako k nim získať prístup a ako efektívne využívať viacrozmerné pole v našom kóde.

Prvok viacrozmerného poľa v C ++

  • Pozrime sa na príklad matice na pochopenie viacrozmerného poľa. V 2D matici budú riadky a stĺpce. Aby sme to znázornili, používame dvojrozmerné pole.
  • V multidimenzionálnych poliach údaje vo forme tabuľky, ktorá je v poradí podľa riadku. Všeobecná syntax dvojrozmerného poľa je uvedená nižšie.

data_type array_name(size1)(size2);

  • Pamätajte, že veľkosť je vždy kladné celé číslo. Nižšie je uvedený príklad trojrozmerného poľa.

int matrix(3)(5);

Matica je tu dvojrozmerné pole, ktoré má najviac 15 prvkov.

  • Maximálny počet prvkov obsiahnutých v poli sa získa vynásobením veľkosti všetkých rozmerov. Napríklad v 3DArray (2) (3) (4) sa maximálny prvok získa vynásobením 2, 3, 4, tj 24.
  • Podobne matica (10) (10) (10) môže pojať 1000 prvkov. Môžeme si to predstaviť, pretože každý z 10 prvkov môže obsahovať 10 prvkov, čo predstavuje celkom 100 prvkov. Každých 100 prvkov môže obsahovať ďalších 10 prvkov, čo znamená, že konečný počet je 1000.
  • Môžeme vytvoriť viacrozmerné pole tak, že najprv vytvoríme jednoduchšie pole a potom ho rozšírime na požadovanú dimenziu.

Inicializácia viacrozmerného poľa

Umožňuje nám vziať si 3D pole. Trojrozmerné pole môžeme inicializovať mnohými spôsobmi. Nižšie sú uvedené príklady referencie.

int 3DArray(2)(2)(4) = (1, 3, 6, 5, 8, 9, -2, 4, 5, 10, 34, 56, 23, -56, 10, 37);

  • Hodnoty v kvetinových zátvorkách zľava doprava sa ukladajú vo vnútri poľa ako tabuľka zľava doprava. Hodnoty sa vyplnia do poľa v nasledujúcom poradí. Prvé 4 prvky zľava v prvom rade, ďalšie 4 prvky v druhom rade atď.
  • Vyššie uvedená inicializácia nám nedá jasný obraz o poli. Pre lepšiu vizualizáciu môžeme inicializovať rovnaké pole ako nižšie.

int 3DArray(2)(2)(4) =
(
( (1, 3, 6, 5), (8, 9, -2, 4) ),
( (5, 10, 34, 56), (23, -56, 10, 37) )
);

Prístup k prvkom vo viacrozmernom poli je podobný ako v akomkoľvek inom poli pomocou indexu prvku. Na prístup ku všetkým prvkom vo vnútri poľa musíme použiť tri slučky. Nižšie je uvedený príklad prístupu k prvku v 3D poli.

x(2)(1)(0)

  • Pre polia s vyššou dimenziou, ako sú 4, 5, 6 atď., Je koncept celkom podobný, ale zložitosť spracovania vecí sa zvyšuje. Napríklad počet použitých slučiek, počet vyhľadávaní prvkov, prístup k jednotlivým prvkom atď.
  • Prvky trojrozmerných alebo vyšších rozmerov sa môžu pohybovať rôznymi spôsobmi. Táto operácia je podobná vektorom a maticiam. Rôzne techniky ako pretvarovanie, permutácia a stlačenie sa používajú na účely usporiadania prvkov vo vnútri poľa. Toto sú zložité techniky, ktoré si zatiaľ nemusíme robiť starosti.

Príklad s krokmi

Tu je niekoľko príkladov viacrozmerných polí v C ++ uvedených nižšie s krokmi:

Príklad č. 1

Teraz použijeme tieto 2D polia na pochopenie toho, ako budú viacrozmerné polia fungovať. Napíšeme kód C ++, ktorý vezme vstup od používateľa pre dve matice, pridá ich a zobrazí výsledok pridania matíc. Najprv napíšeme hlavný program na vykonanie.

V rámci hlavnej funkcie deklarujeme dvojrozmerné polia, v ktorých je možné uložiť až 4 prvky.

Teraz požiadame používateľa, aby do každého poľa zadal 4 hodnoty.

Na uloženie hodnôt do poľa potrebujeme dve slučky, tj každá dimenzia používa jednu slučku na prechod. Vezmeme dva indexy, i a j pre tieto dve dimenzie. Pre lepšie pochopenie kódu použijeme slučku. Prvá pre slučku predstavuje prvú dimenziu, druhá pre slučku pre druhú dimenziu. Vo vnútri druhej slučky berieme vstup od používateľa.

Teraz urobte vstup pre druhé pole podobným spôsobom.

Teraz, keď sú hodnoty uložené v každom poli, je čas, aby sme používateľovi ukázali pridanie dvoch polí. Z tohto dôvodu opäť používame tieto dve pre slučky na priechod a tentokrát na tlač hodnôt.

Výkon:

Príklad č. 2

Vyhlasujeme pole ľubovoľného počtu prvkov a používame ich na vykonávanie rôznych funkcií, ako sú sčítanie, odčítanie, násobenie, inverzia, transformácia atď. Na odčítanie je možné použiť nasledujúci kód:

Vyberte rôzne vstupy a skontrolujte výstupy a matematicky ich porovnajte.

Výkon:

záver

V tomto článku sme sa naučili, čo je pole, čo je jedno a viacrozmerné pole, význam viacrozmerného poľa, ako inicializovať pole a používať viacrozmerné pole v programe na základe našich potrieb.

Odporúčané články

Toto je príručka pre viacrozmerné polia v C ++. Tu diskutujeme syntax, prvky a inicializáciu viacrozmerného poľa v C ++ spolu s príkladmi a krokmi. Viac informácií nájdete aj v nasledujúcich článkoch

  1. Viacrozmerné pole v C
  2. Úvod do C ++
  3. Rust vs C ++
  4. Preťaženie a prekonanie v C ++