Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАМУВАННЯ_FULL.docx
Скачиваний:
6
Добавлен:
18.09.2019
Размер:
112.09 Кб
Скачать

41. Приклад програми з використанням одно та двовимірних масивів на мові Сі.

Масив - це впорядкований набір однотипових елементів. Впорядкованість означає, що елементи масиву розташовані в певному порядку, тобто, проіндексовані. Одно типовість означає належність елементів масиву одному типу даних. Це дозволяє використовувати опрацювання масивів за допомогою операторів циклу. Розглянемо опрацювання масивів на прикладі одновимірного масиву.

Масив визначається наступним чином:

тип імя[кількість]

double a[100]

Визначення масиву починається зарезервованим словом array (масив), за яким слідує тип індексу, укладений у квадратні дужки. Після типу індексу іде зарезервоване слово of, за яким указується тип компонентів масиву. В ролі типу індексу може виступати будь-який скалярний обмежений тип, окрім real та integer. Разом з тим типом індексу може виступати діапазон типу integer. В ролі типу компонентів може виступати довільний тип, крім файлового. Розглянемо спочатку одновимірні масиви, тобто масиви, в яких типом компонентів є скалярний тип даних.

ПРИКЛАД:

# defin n 100 {double a[n] int i,m do {cout <<”Кількість елементів=”; cin >>m;} while (m>n||m<1) for (i=o;i<m;i++) {cout <<”a[”<<i<<”]”; cin >>a[i]} for (i=o;i<m;i++) {cout <<”a[”<<i<<”]=”; cout<<a[i]<<endl}; getch();}

Для опрацювання елементу масиву необхідно вказати ім’я масиву та індекс його елементу. Так, запис a[1] означає, що опрацьовується перший елемент масиву а; a[k] – опрацьовується k-тий елемент масиву а; a[2*k-1] – опрацьовується той елемент, індекс якого дорівнює виразу 2*k-1.

Розглянемо порядок визначення та опрацювання багатовимірних масивів на прикладі двовимірних числових масивів.

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

Двовимірний масив - це масив, що має декілька рядків.

Приклад завдання: Дано двомірний масив. Необхідно, зробити введення / виведення двовимірного масиву. Знайти максимальний елемент двовимірного масиву.

# Include <iostream>

# Include <conio.h>

const int n = 3; / / оголошуємо константу для масиву

void main () {

int X [n] [n]; / / оголошуємо масив цілого типу

int i, j; / / змінні для циклу

int max = 0; / / Змінна для обчислення максимального числа

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

for (j = 0; j <n; j + +) {/ / цикл введення масиву

std:: cout <<"X [" <<i <<","<< j <<"] ="; / / На екран виводиться 'X [i] [j] ='

std:: cin>> X [i] [j]; / / вводимо з клавіатури цілі числа

} std:: cout <<"\ n"; / / Перехід на наступний рядок

for (i = 0; i <n; i + +) {/ / цикл виведення масиву

std:: cout <<"\ n"; / / Перехід на наступний рядок

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

std:: cout <<"X [" <<i <<"]"<<"["<< j <<"] =" <<X [i] [j] <<"\ t"; / / На екран виводиться результат нашого введення

} } max = X [0] [0]; / / Припустимо маскімально число - це перше число масиву

for (i = 1; i <n; i + +) {/ / цикл находженіе максимального елемента масиву

std:: cout <<"\ n"; / / Перехід на наступний рядок

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

if (X [i] [j]> max) max = X [i] [j]; / / якщо є число більше, ніж max

/ / Тоді max приймає значення цього числа

} }std:: cout <<"\ n"; / / Перехід на наступний рядок

std:: cout <<"Max =" <<max <<std:: endl; / / На екран монітора виводиться максимальне число _getch (); / / Екран не закривається, поки не натиснута будь-яка клавіша }