Мета роботи:Навчитися складати блок-схеми та програми з одномірними масивами на мові Сі. Виконувати програми на ПК.
Стислі відомості з теорії.
Щоб легше було розібрати тему масивів, для прикладу розглянемо програму, яка буде зчитувати рядки з клавіатури і рахувати, скільки разів у набраному тексті зустрічаються цифри від нуля до дев'яти.
Невже доведеться заводити 10 лічильників? Один для підрахунку одиниць, інший для нулів, для двійок і так далі. А якщо нам треба буде порахувати (як приклад), кількість тих чи інших одиниць для безлічі елементів, наприклад, для сотні, тисячі ? Доведеться заводити 1000 змінних? Якраз для таких цілей і служать масиви даних в C.
Масив - безліч однотипних елементів, об'єднаних під одним ім'ям. Формат об’яви масиву:
<тип даних в масиві> <ім'я масиву> [кількість елементів у масиві]
Кількість елементів у масиві має бути цілим числом без знаку. Наприклад, масив з тисячі цілих чисел можна об’явити так:
int matrix[1000];
float a[5];
const n=4;
int b [n];
Де int i float – числові типи елементів масиву, matrix, а та b - назви масиву (ім'я для об'єднання елементів), а [ 1000 ], [ 5 ] і [ n ] - розмірність масиву, тобто, скільки елементів максимально туди помістяться. Розмірність масиву можна задати константою (n або якоюсь іншою), або ж ввести її з клавіатури, попередньо виділивши для цього яку-небудь змінну. Квадратні дужки – це обов’язковий елемент в об’явленні масиву.
Звернутися до елементів масиву можна, вказавши ім'я масиву та індекс елемента. Наприклад, якщо ми хочемо присвоїти другому елементу масиву matrix значення 100, потрібно написати таким чином:
matrix[1]=100;
Варто запам’ятати, що нумерація елементів масиву та інших структурних даних в мові C починається з нуля, тому у поле індексу була написана одиниця, а не двійка, бо фактично ми звертаємося до першого елемента маючи на увазі для себе, що це другий, так як нумерація виглядає наступним чином: 0, 1 , 2, 3… 999.
Якщо у масиві присутній тільки один індекс (одна пара квадратних дужок), то це одновимірний масив, якщо більше, то багатовимірний (двовимірний, тривимірний і т.д).
Існує кілька способів завдання елементів масиву будь-яких значень.
// Перший спосіб – присвоювання значень поелементно.
matrix[0]=1;
matrix[1]=5645;
/* Другий спосіб (отримаємо теж саме, ініціалізував масив наступним чином)- присвоювання значень на етапі об’яви масиву */
int matrix[2]={1,5645}; /*масив з двох елементів цілого типу*/
Або ж так явно ініціалізується масиви з п’яти цілих та п’яти дійсних чисел:
int a[5] = {1,2,3,4,5}
double b[3] = {2.2, 3.3, 4,4};
Розмірність масиву – необов’язковий параметр, то якщо при оголошенні масиву відразу його ініціалізувати, то можна опустити значення в дужках, тому що наш компілятор сам визначить кількість елементів: