Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_P_2_6_1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
73.22 Кб
Скачать

Програмування Лабораторна робота № 2_6

Лабораторна робота № 2.6 "Робота з двовимірними масивами. Функції і масиви"

Мета: Отримання навиків обробки двовимірних масивів. Організувати обробку масивів з використанням функцій, навчитися передавати масиви як параметри функцій.

  1. Короткі теоретичні відомості

1.1. Визначення масиву

Загальний вигляд конструкції опису багатовимірного (N-вимірного) масиву такий:

де р1 р2, ..., Pn задають розміри для кожного виміру.

       Елементи масивів розташовуються в ОП таким чином, що швидше змінюються самі праві індекси, тобто елементи одновимірного масиву розташовуються підряд, двовимірного - по рядках, тривимірного - по матрицях, а матриці - по рядках.

       Для звертання до елементів багатомірного масиву можна використовувати нуль і більш індексів (індексних виразів):

ім'я-масиву [вираз1][вираз2] ...

       Наприклад, для звертання:

   • до одновимірного масиву можна використовувати одно-індексний вираз (індекс);

   • до двовимірного - 1 або 2 індексний вираз;

   • до тривимірного - 1, 2 або 3 індексний вираз і т.д.

       При звертанні до багатомірних масивів одержання значення елемента масиву можливо тільки після визначення адреси елемента масиву, тобто при повній кількості індексів. При цьому обчислюються індексні вираз зліва на право, і доступу до значення виконується після обчислення останнього індексного виразу.

       Приклад оголошення двовимірного масиву значень типу int:

int а[m][n] ;

       Цей масив складається з m одновимірних масивів (рядків), у кожному з яких утримується n елементів (стовпців). При роботі з цим двовимірним масивом можна використовувати одно або 2 індексний вираз. Наприклад:

  а[i][j]- містить 2 індекси; використовується для звертання до елемента i-рядка, j-стовпця масиву; обчислюються індексні вирази, визначається адреса елемента масиву і вилучається його значення;

  a[i] - містить 1 індекс; визначає адресу одновимірного масиву: адреса початку i-рядка масиву;

  а - не містить індексу і визначає адресу масиву, його нульового елемента.

1.2. Ініціалізація масиву

Під час оголошення двовимірні масиви можна частково або повністю ініціалізувати.

Приклад 2. Оголосимо і проініціалізуємо двовимірний ма­сив цілих чисел

int ball[2][3] = {4, 5, З, З, 5, 2}. У такому випадку елементам надаються значення так:

Двовимірні масиви автоматично ініціалізуються "по рядках", тобто спочатку модифікується зовнішній (правіший) індекс . Надавати значення елементам масиву можна і так:

1.3. Покажчики і масиви

Ім'я масиву без індексу є покажчиком-константою, тобто адресою першого елемента масиву (а[0]).

а

*a = = а[0];

*(a+1) = = а[1];

. . . . . . . . .

*(a+i) = =a[i];

Відповідно до синтаксису в Сі існують тільки одновимірні масиви, але їх елементами, у свою чергу, теж можуть бути масиви.

int а[5][5];

Для двовимірного масиву:

а[m][n]= = *(а[m]+n) = = *(*(a+m)+n);

До елементів двовимірного масиву можна звернутися і за допомогою скалярного покажчика на масив. Наприклад, після оголошення:

int а[m][n], *р = а;

*(p+i*n+j) - значення j - елемента i-рядка ;

де: n - кількість елементів у рядку;

i*n + j - змішання а[i][j]- елемента відносно початку масиву а.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]