Arrays în pascal

Imaginați-vă un tabel format din mai multe linii. Fiecare linie este formată din mai multe celule. Apoi, pentru a determina poziția exactă a celulei, trebuie să știm mai mult de un număr (ca în cazul unui tabel liniar), dar două: numărul liniei și numărul coloanei. Structura de date în Pascal pentru stocarea unui astfel de tabel este numit un tablou bidimensional. Descrie o astfel de matrice poate fi în două moduri: I. Var A. Array [1..20] Of Array [1..30] Din Integer; II.Var A. Array [1..20,1..30] Din Integer;







În ambele cazuri descrise matrice bidimensională corespunzătoare tabelului, format din 20 de rânduri și 30 de coloane. Aceste descrieri sunt echivalente.

Pentru a ilustra moduri de a lucra cu matrice bidimensionale rezolva problema, „Cere și imprima 10X10 matrice, constând din întregul număr aleator în intervalul [1100] Găsiți suma elementelor situate deasupra diagonalei principale ..“







Când se numără, pornind de la colțul din stânga sus al mesei, vom presupune diagonala principală din stânga sus la dreapta jos a tabelului. În acest caz, se dovedește că elementele situate pe diagonală va avea același indice, și pentru elementele de mai sus principal numărul coloanei diagonala va fi întotdeauna mai mare decât numărul liniei. De asemenea, a fost de acord să se precizeze inițial un număr de linie, iar apoi - numărul coloanei.

A. Array [1..10,1..10] Din Integer; I, K. Byte; S. Integer;

S: = 0; Pentru I: = 1 până la 10 INCEPE Pentru K: = 1 până la 10 INCEPE

A [I, K]: = Trunc (Random * 100) + 1; Scriere (A [I, K]: 6); Dacă K> I Atunci S: = S + A [I, K]

End; Writeln End; ( 'Elementele de mai sus Sum Sec. RavnaV diagonală', S) writeln

În cazul în care modelul de date într-o sarcină care nu poate fi redusă la o masă liniară sau plană, acesta poate fi folosit rețele de orice dimensiune. matrice N-dimensional este caracterizată prin indici N. Formatul descrierii tipului de date: Tip

<Имя типа>= Array [<диапазон индекса1>,<диапазон индекса2>. <диапазон индекса N>] de <тип компонент>;

nume de elemente separate, după cum urmează: <Имя массива>[<Индекс 1>,<Индекс 2>. <Индекс N>]