Bine ați venit la această prelegere Vreau să vorbesc despre matrice multidimensionale.
Până în acest moment, dacă v-ați gândit la o matrice, tocmai ați spus că o matrice este o variabilă care poate stoca mai
multe tipuri de date.
Poți să te complici mai mult.
Puteți avea în esență multe dimensiuni ale unei matrice.
Deci, dacă aveți doar o gamă liniară care este ceea ce am discutat până acum, se numește
o singură dimensiune și știm că aceasta este o singură dimensiune deoarece are doar o paranteză de o mărime.
Limbajul C permite impunerea de amenzi de orice dimensiune.
Deci, acest lucru este un fel de gândire ca o matrice imbricate o gamă de matrice.
Deci, cele mai frecvente sunt matricele cu două dimensiuni.
Dar puteți face de fapt mese tridimensionale sau patru dimensiuni sau cinci dimensiuni, dar
nu există multe cazuri de utilizare pentru trei patru și cinci într-adevăr că veți avea o
singură matrice de dimensiuni care utilizează programul dvs. sau două matrice matrice dimensionale matrice sunt comune deoarece reprezintă
în esență, de exemplu, ca rânduri și coloane într-o foaie de calcul.
Așa puteți să o vizualizați sau o matrice sau o masă care este o matrice bidimensională.
Aveți rânduri și aveți coloane, astfel încât să puteți stoca mai multe date decât o singură matrice dimensională,
specificând dimensiunile.
Dar este foarte aplicabil deoarece arată ca o matrice.
Există aplicații pe care ați putea dori să le scrieți și care au acest concept
de matrice specific aplicației matematice.
Dar puteți utiliza pentru a face matrice două dimensiuni pentru multe lucruri diferite.
Un exemplu este o matrice, dar începeți să o vizualizați ca o matrice bidimensională declarată în același
mod în care o matrice unidimensională este singura diferență pe care o aveți acum un alt set de paranteze.
Deci, în acest exemplu, declarăm o matrice de tipare de tip int care are patru rânduri și cinci coloane.
Aceasta înseamnă că puteți stoca 20 de elemente în interiorul acelei două matrice dimensionale.
Deci, ar trebui să știți cum este specificată fiecare dimensiune cu propria sa pereche de paranteze pătrate.
Astfel puteți observa cu ușurință la fața locului câte dimensiuni are o matrice.
Dacă ai avea trei paranteze acolo, ar fi o Orie tridimensională dacă ai avea patru înainte ca aceasta să aibă
două, așa că sunt două și până când mai devreme Lux avea doar unul.
Așa că am știut că a fost o singură dimensiune.
In regula.
Deci, uita-te la paranteze să acorde atenție la asta.
Din nou, patru rânduri cinci coloane în total 20 de elemente pentru a inițializa o matrice bidimensională.
Va fi inițializată în același mod cu o matrice unidimensională.
Același tip de sintaxă va adăuga mai mult.
Deci, atunci când listați elementele de inițializare, valorile vor fi listate de rho și diferența
este că atunci când puneți valorile inițiale pentru fiecare rând, veți face acest lucru
între paranteze brațele curbate și apoi veți închideți toate rândurile între brațe.
Deci o să arate așa ceva.
Dacă vom crea o serie de numere care are două dimensiuni trei rânduri și patru coloane și dorim
să o inițializăm tot ce trebuie să faceți este să puneți în paranteze curbate.
Întregul matrice și apoi adăugați parantezele dvs. imbricate pentru fiecare rând.
Deci, aici inițializăm valori zero cu zero până la 10 zerouri de la 1 la 20.
De două până la 30 și 0 de la 3 la 40.
Și așa accesați matrice multidimensionale pentru a le accesa cu rândul din coloană.
Trebuie doar să vă amintiți că este bazat pe zero.
Deci, mâna stângă superioară coordonează acolo mâna stângă superioară, care ar fi rândul unu, o coloană ar fi
00 și care ar fi egală cu 10 rând pe coloana o coloană doi Îmi pare rău ar fi
egal cu 20, dar ai accesat-o ca numerele 0 sub 1.
Deci, primul element deoarece prima matrice conține trei rânduri care, atunci când accesați-o, este numărul pe care îl
specificați pentru numărul rândului și apoi numărul coloanei este următoarea specificație pentru accesarea
matricei.
Dar inițializarea este destul de simplă separând lucrurile prin comentarii cu parantezele și accesându-le pe care
le-ați accesa la fel cum accesați o matrice normală, cu excepția faptului că
acum accesați acest concept de a scrie o coloană, astfel încât utilizarea perechilor interioare de bretele este de fapt opțională, dar ar trebui să utilizați
pentru lizibilitate dacă nu ați oferit aceste pauze.
Ați putea oferi doar 10 20 30 40 15 20 5:35 toate doar consecutiv.
Dar este foarte greu să vizualizați ceea ce inițializați ca programator.
Citibilitatea este foarte importantă deoarece crește calitatea codului este mai ușor
de menținut codul.
Când mă uit la acest lucru, pot identifica cu ușurință în special cu comentariile ce inițializez la
ce valori și ce rânduri se vor inițializa.
Dacă aș avea ca o singură linie doar numere consecutive, m-aș pierde foarte repede.
Deci, deși nu sunt necesare paranteze interioare, le folosim
ca și în cazul unei matrice unidimensionale, nu este necesar să se inițieze întreaga matrice.
Puteți doar să inițializați anumite zone.
Deci, în acest exemplu, creăm o matrice matriceală matrice cu patru rânduri și cinci coloane.
Inițializăm doar primele trei elemente ale fiecărui rând.
Prin urmare, rândul 1 din coloana 1 este rândul 10 în coloana a doua este cinci brațe rând o coloană două este cinci în rândul o coloană și trei este negativă
trei și aceeași pentru a doua coloană și așa mai departe 9 0 0 32 21 0 0 8 pentru care nu am
stabilit a patra și a cincea valoare a fiecărui rând.
Acestea vor fi setate automat la zero, pentru că le-am lăsat pe toate.
Și în acest caz, de fapt, trebuie să oferiți brațele voalnice cele interioare, pentru că aici, dacă am
fi făcut-o, inițierea ar fi înșelată, pentru că dacă nu aveați coarde curbate, ar
face-o consecutiv, astfel încât ceea ce se va întâmpla este nu ar inițializa de fapt primul fir de primii 12
elemente, astfel încât să inițializeze toate elementele din primul rând.
Toate elementele din al doilea rând și apoi primele două elemente din al treilea rând și apoi restul
elementelor din rândul al treilea restul elementelor din al patrulea rând ar fi zero.
Și aceasta este o matrice bidimensională de patru rânduri și cinci coloane pe care le-ar face doar consecutiv, așa
că nu uitați de bretele.
Dacă sunteți dacă doriți doar să specificați anumite anumite elemente de inițializare, puteți, de asemenea, să desemnați
inițializatori.
Amintiți-vă că acesta este conceptul de nouăzeci și nouă care este opțional vezi 11 unde puteți specifica indicii specifici
specifici care urmează să fie inițializați.
Deci, puteți utiliza subscripturile în lista de inițializare ca într-o singură matrice dimensională dacă doriți
să faceți un inițializator desemnat.
Ai face ceva de genul asta.
Deci, aici creăm declararea matricei noastre de matrice cu patru rânduri și trei coloane.
Dar specificăm că 0 0 este egal cu 1 1 1 este egal cu 5 și 2 2 este egal cu noaptea.
Deci, când spunem 2 din nou ceea ce spunem este rândul 2, care este într-adevăr rândul 3, deoarece am început 0 coloana 2,
care este într-adevăr coloana 3.
Din nou, vizualizați acest lucru ca o masă sau o foaie de calcul și accesați elementele care încep
în colțul din stânga sus.
Dar dacă înțelegeți că cele patru reprezintă rândurile și cele trei zone
coloanele sunt destul de intuitive după aceea.
Deci, ceea ce face aceasta este inițializarea celor trei elemente indicate ale
matricei cu valorile specificate.
Dar ceea ce ar trebui să observați aici este sintaxa privind valorile nespecificate aici fiind 0 în mod implicit.
Deci, aceasta va iniția numai trei valori.
Fiecare set de valori pe care le inițializați vor fi elementele dintr-un rând între brațe și întreaga
inițiere merge între o altă pereche de brațe astfel încât să vedeți că avem
paranteze ondulate pe cele exterioare, la fel ca inițializarea normală.
Apoi avem parantezele pentru a accesa matricea din interior.
Și apoi avem virgulă pentru a separa fiecare rând din fiecare set de valori de rând separate de următorul set printr-o
virgulă.
Deci, valorile sunt separate și, de asemenea, rândul indicii rând.
Deci, pentru asta.
Acum, doar pentru că am spus că avem două dimensiuni și am vorbit despre faptul că
aveți de fapt multe alte dimensiuni.
Tot ce am vorbit cu două dimensiuni se aplică
și la trei dimensiuni, patru dimensiuni, cinci dimensiuni, deci dacă v-ați fi dorit să declarați o matrice tridimensională, ați face-o cu trei paranteze pătrate.
Deci, aici este o casetă cu nume de matrice de tip int de 10 20 și 30.
S-ar putea să doriți să utilizați o șir de moduri tridimensionale, poate dacă ați fi fost, nu știu
dacă ar fi stocat x y z valori de un fel care probabil că nu va trebui să faceți acest lucru, și
nu sunt în mod obișnuit.
Dar puteți vizualiza o matrice unidimensională ca sumă sau puteți vizualiza o matrice unidimensională ca
un rând de date dintr-o singură matrice de două dimensiuni ca o tabelă, o matrice sau o foaie de calcul și o
matrice tridimensională.
Puteți vizualiza ca o stivă a tabelelor de date.
Deci, o mulțime de mese, dacă aveați nevoie de atât de multe date, va fi foarte greu de accesat și probabil va
fi confuz.
Și oricine își menține acest program pentru trei sau trei dimensiuni este probabil că se va
pierde încercând să-și dea seama ce se întâmplă.
Poți să o faci din nou.
Și dacă vreodată va trebui să repetați oricare dintre aceste două rase de trei dimensiuni, probabil
că veți folosi o buclă.
Și cu cât mai multe dimensiuni aveți în buclă, cu atât veți avea mai multe bucle imbricate.
Deci, dacă doriți să procesați o matrice tridimensională, veți avea trei bucle
imbricate și dacă doriți să procesați o aură de patru dimensiuni, veți avea patru bucle imbricate.
Deci, în măsura în care inițializați o matrice care este mai mare decât două dimensiuni din nou, veți aplica
același tip de lucru pe care îl veți extinde puțin.
Deci, o matrice tridimensională va avea trei nivele de nervuri imbricate, cu nivelul interior care
conține un set de valori de inițializare pentru fiecare rând.
Deci ar arăta ceva de genul asta.
Aici avem o matrice tridimensională două trei și patru o mulțime de tabele de date în mod esențial.
Și primul bloc de trei rânduri a fost inițializat și cel de-al doilea bloc de trei
rânduri pe
care o să inițializăm. Deci ceea ce spune acest lucru este din nou primul bloc în al doilea bloc, deoarece nu am inițializat al treilea
și al patrulea bloc doar prima al doilea.
Deci, avem patru blocuri și vă puteți gândi că fiecare bloc este o mulțime de tabele de date fiecare bloc având
rânduri și coloane.
Deci, primul bloc va fi inițializarea doar primele trei rânduri care este tot ce avem
este de trei rânduri și apoi al doilea bloc va inițializa următoarele trei rânduri.
Dar blocurile 3 și 4 nu vor fi inițializate.
Dacă doriți să inițializați oa treia în blocul al patrulea, ați avea mai multe brațe interioare Bracey și
așa mai departe.
Același lucru este valabil și pentru cele pe care nu le inițializați.
Vor fi inițializate la zero.
Dar din nou puteți vedea cum devine foarte obositoare și, de asemenea, foarte greu de urmat.
Când doriți să procesați elementele dintr-o matrice dimensională
am menționat că veți folosi bucle imbricate din nou, aceasta va corespunde direct numărului de dimensiuni și fiecare buclă se va itera peste
o dimensiune a matricei.
Deci o să arate așa ceva.
Acesta este un exemplu de matrice tridimensională.
Aveți o bucla exterioară și apoi aveți două bucle interioare, bucla exterioară va fi prima matrice
exterioară și apoi a doua.
Așa că bucla exterioară va trece prin rânduri.
Cel de-al doilea va trece prin coloane și al treilea și va trece prin blocuri.
Din nou ceea ce ar trebui să observi este în timp ce acest lucru devine cu adevărat păros
și cu adevărat plictisitor foarte repede, așa că încercați să evitați trei dimensiuni patru dimensiuni și nu vedeți
nici măcar cazuri de utilizare pentru unul din două sunt într-adevăr tot ce folosiți, dar înțelegeți multidimensionale arhitecturile sunt o posibilitate și pot vedea unde
se stochează mai multe date și se accesează același nume cu multe elemente de date.
Mulțumesc.