Kétdimenziós tömbök - mátrix
A két-dimenziós tömb kezelik, mint a Pascal-dimenziós tömb elem típusa, amely szintén egy olyan tömb (tömb tömbök). A helyzet a kétdimenziós tömbök elemek által leírt két index. Ezeket lehet képviseli formájában egy téglalap alakú tábla vagy mátrix.
Tekintsünk egy mátrixot 3 * 3, azaz, nem lesz három sorban, és minden sorban három elemből áll:
Mindegyik elem saját szám, mint egydimenziós tömbök, de most a szám már két szám - a szám a sor, amelyben az elem és az oszlop számát. Ezáltal az elem száma határozza meg a kereszteződésekben a sor és oszlop. Például, A21 - egy álló elemet a második sorban, és az első oszlopban.
Azt már tudjuk, hogyan kell leírni a egydimenziós tömbök, amelynek elemei lehetnek bármilyen típusú, és ennek következtében az elemek maguk is tömbök. Tekintsük a következő típusainak leírása és változók:
Vektor = array [1..5] A <тип_элементов>;
Matrix = array [1..10] vektor;
Mi jelentette mátrix m, amely 10 sor, amelyek mindegyike 5 oszlop. Így minden egyes i-edik sorának érhető m [i], és minden j-edik eleme az i-edik sorban - m [i, j].
Meghatározása kétdimenziós tömb típus lehet meghatározni egy sorban:
Matrix = array [1..5] tömb [1..10] A <тип элементов>;
mátrix = array [1..5, 1..10] az <тип элементов>;
Hozzáférés elemek kétdimenziós tömb formájában: M [i, j]. Ez azt jelenti, hogy azt akarjuk, hogy az elem az i-edik sorának és j-edik oszlop. A lényeg, hogy ne keverjék össze a vonalat az oszlopok, és akkor ismét kap egy fellebbezés nem létező elemet. Például, hivatkozással egy M elem [10, 5] rendelkezik a megfelelő rekordot formában, de hibát okozhat a programban.
Alapvető lépések mátrixok
Minden, ami elhangzott a alapművelet egydimenziós tömbök, igaz mátrixok. Az egyetlen akció végezhető ugyanazon típusú mátrix teljes egészében - ezt a feladatot. Ie ha a program van két azonos típusú mátrix ismertetnek, például,
mátrix = array [1..5, 1..10] az egész;
a program végrehajtása során lehet rendelni egy mátrixot a mátrix b (a: = b). Minden más műveletet végezzen elemenként, az elemek keresztül végezhetjük minden megengedett műveleteket, amelyek meghatározott adattípus tömb elemeit. Ez azt jelenti, hogy ha a tömb egész számokból áll, akkor elemében műveletek végezhetőek megadott egész számok, ha a tömb szimbólumokból áll, akkor alkalmazza az egyedi műveleteket dolgozó karaktereket.
Adja meg a mátrixban. A soros input egydimenziós tömb elemeit használjuk a hurok, amelyben az index értéke változik az 1-től az utolsó. De a helyzet az elem a két-dimenziós tömb által meghatározott két index: a sor számát, és oszlop száma. Ez azt jelenti, hogy meg kell változtatni a következetesen szám 1-től az utolsó, és minden sorban az oszlopok rendezni az elemeket az 1-től az utolsó. Tehát szükségünk van kettő hurkok, amelyek közül az egyik lesz csatolva a másik.
Tekintsük a példa egy bemeneti mátrix a billentyűzetről:
mátrix = array [1..5, 1..10] az egész;
A mátrix lehet tölteni véletlenszerűen, azaz használja a véletlenszerű funkció (N), és mindegyik eleme a mátrix egy kifejezés értékét. Módszer a töltés a mátrix függően választjuk a feladat, de minden esetben, minden egyes elem minden sorban és minden oszlopban meg kell határozni.
A következtetés a mátrix a képernyőn. A kimenet a mátrix elemei is végeznek egymás után kinyomtatni az elemek minden sorban és minden oszlopban. Ugyanakkor szeretném látni az elemek állt a sorban, nyomtattak egymás mellett, vagyis, egy sorban, és az oszlop elrendezett egymás alatt. Ehhez hajtsa végre a következő lépéseket (nézd meg a szintaxis a tömb, mint azt az előző példa):
Megjegyzés (fontos!): Nagyon gyakori a diákok egy program hiba akkor jelentkezik, ha a billentyűzet bemenet vagy kimenet a képernyőre megpróbálják végrehajtani egy tömböt a következő: readln (a), writeln (a), ahol a - egy változó típusú tömb. Így a meglepő üzenetet fordítóprogram, hogy egy változó az ilyen típusú nem lehet olvasni, vagy nyomtatásban. Talán meg fogja érteni, hogy miért ez nem lehet megtenni, ha elképzeljük, N bögrék, állt a sorban, és a kezedben, mint például a kanna vizet. Tud csapat „vizet önteni” közvetlenül töltse összes körből? Nem számít, hogy hogyan próbálta, de minden kell önteni egy csésze külön-külön. Kitöltése és kimenetét a képernyőre a tömb elemeinek is el kell végezni egymás után, és elemenkénti, mivel a számítógép memóriájában a tömb elemek vannak elrendezve egymást követő sejtekben.