четверг, 7 февраля 2013 г.

Двохвимірні Масиви

Двовимірний масив являє собою масив, в якому положення елементів визначається 2-ма індексами. Фактично, двовимірний масив - це звичайний (одновимірний) масив, елементами якого є інші одномірні масиви.

Тому двовимірний масив можна задати таким чином: b: array [1 .. n] of array [1 .. m] of integer.
Однак, подібний запис двовимірного масиву на практиці використовується нечасто. Найбільш кращим є наступний варіант: b: array [1 .. n, 1 .. m] of integer.
Схематично, двовимірний масив можна представити у вигляді матриці, де перший індекс [1 .. n] визначає кількість рядків, а другий індекс [1 .. m] визначає кількість стовпців. Для прикладу візьмемо масив b: array [1 .. 7,1 .. 6] of integer. Схематично його можна представити так:


dvumernihyj massiv 

Як видно, такий масив містить 42 елемента (7 × 6). Для доступу до елементу масиву необхідно вказати номер рядка і стовпця, на перетині яких цей елемент розташований. Наприклад, на нашому малюнку елемент масиву b [3,3] має значення 122.
Наступна програма записує в кожен елемент масиву випадкове число і потім виводить всі ці числа на екран.



  1. program massiv10;
  2. uses crt;
  3. const N=5;
  4.          M=4;
  5. var X:array [1..N, 1..M] of integer;
  6.        I, J:integer;
  7. begin
  8. clrscr;
  9. randomize;
  10. for i:=1 to N do
  11.     for j:=1 to M do
  12.     x [I, J]:=random (100);
  13. for i:=1 to N do
  14. begin
  15.   for j:=1 to M do
  16.     write (' ',x[I,J]);
  17.     writeln
  18. end;
  19. readln
  20. end.
 У рядку № 3 і № 4 вкажемо значення для константи «N» і «M».
У рядку № 5 запишемо область двовимірного масиву, що складається з N - рядків і M - стовпців. Він записується також як і одновимірний масив, тільки у квадратних дужках вказується область зберігання двовимірного масиву. Таким чином, наш масив буде складатися з 5 рядків і 4 стовпців
У рядку № 6 записуємо змінні, для зберігання індексів рядка і стовпця.
Рядок № 9,10,11,12 - заповнюємо масив випадковими числами (Усі рядки і стовпці заповняться випадковими числами). Як видно з програми, для того щоб заповнити елементи двовимірного масиву різними значеннями, необхідно використовувати 2 цикли (один цикл вкладається в інший). У зовнішньому циклі лічильником виступає індекс рядка, у внутрішньому циклі - індекс стовпця. Зовнішній цикл виконається один раз тільки коли внутрішній цикл виконається 4 рази. А так як зовнішній цикл повинен виконатися 5 разів, то внутрішній цикл за цей час виконається 20 разів, заповнивши при цьому всі 20 елементів двовимірного масиву.
Рядок № 13 - № 17. Виводимо значення всіх елементів масиву на екран. Причому, як тільки заповнюються всі комірки одного рядка масиву, проиходит перехід на інший рядок, і наступна рядок масиву виводиться на іншому рядку.

Комментариев нет:

Отправить комментарий