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

7.3 Багатовимірні масиви

Дво-, тривимірні та інші масиви з більшою кількістю вимірів називаються багатовимірними масивами. Індексом є уже сукупність чисел, кількість яких визначає скільки саме вимірів матиме масив. Оголошуються вони аналогічно до одновимірних. Двовимірний масив можна уявити як таблицю n×m.

Синтаксис двовимірного масиву має такий вигляд:

<тип даних> <ідентифікатор> [n][m];

Для двовимірних масивів уже вводиться поняття матриці, її головної та побічної діагоналі.

Запам’ятайте, що у двовимірних масивах перший індекс завжди вказує на номер рядка, а другий – на номер стовпчика у цьому рядку.

Індексація двовимірного масиву зображена на рисунку 7.2.

Рисунок 7.2 – Зображення двовимірного масиву

Приклад 7.6. Ініціалізація масиву

int a[2][3]; /* представлено у вигляді матриці

a[0][0] a[0][1] a[0][2]

a[1][0] a[1][1] a[1][2] */

int w[3][3] = { { 2, 3, 4 },

{ 3, 4, 8 },

{ 1, 0, 9 } };

/* об’явлено масив w[3][3ї, списки,

вилідені в фігурні дужки, відпові-

дають рядкам массиву, у випадку

відсутності дужок ініціалізація

буде виконана неправильно */

Усі властивості одновимірних масивів зберігаються і для багатовимірних масивів. Тривимірний масив уже можна уявити як об’ємну фігуру – паралелепіпед. Більше трьох вимірів можна вважати математичною абстракцією.

Найчастіші дії, що проводяться над масивами – це:

  • пошук деякого значення;

  • сортування елементів в порядку зростання або спадання;

  • підрахунок кількості елементів у масиві, що задовольняють дану умову.

Приклад 7.7. Всім елементам, що знаходяться вище головної діагоналі присвоїти значення ‘1’, елементам, що знаходяться нижче головної діагоналі – ‘-1’, а тим що на самій діагоналі – ‘0’.

#include <stdio.h>

#include <stdlib.h>

int main(){

int MAS[4][4];

int n=5;

for (int i=0;i<n;i++){

for (int j=0; j<n; j++){

if (i==j) MAS[i][j]=0;

if (i>j) MAS[i][j]=-1;

if (i<j) MAS[i][j]=1;

printf("%3i ", MAS[i][j]);

}

printf("\n");

}

system("pause");

return 0;

}

Результат роботи програми:

Контрольні запитання

  1. Що таке масив?

  2. Які переваги використання масивів?

  3. Що таке одновимірний масив?

  4. Опишіть прототип одновимірного масиву.

  5. Як найпростіше заповнити масив?

  6. Наведіть кілька прикладів заповнення масиву.

  7. Що таке багатовимірні масиви?

  8. Опишіть прототип двовимірного масиву.

  9. Що таке головна та побічна діагоналі?

  10. Напишіть програму, яка зчитуватиме з клавіатури масив цілих чисел 5х5 та виводитиме на екран суму всіх його елементів.

  11. Напишіть програму, яка зчитуватиме з клавіатури масив цілих чисел 5х5 та виводитиме на екран суму всіх додатних чисел.

  12. Напишіть програму, яка зчитуватиме з клавіатури масив цілих чисел 5х5 та виводитиме на екран максимальне та мінімальне значення.

  13. Напишіть програму, яка зчитуватиме з клавіатури масив цілих чисел 5х5 та виводитиме на екран суму всіх чисел що знаходяться на головній та побічній діагоналях.

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

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