Масив – послідовна група змінних, що мають одне й теж ім’я та один і той самий тип. Масив називається одновимірним (вектором), якщо він складається з одного рядка та N стовпців.
Масив складається з елементів. Кожен елемент має індекси, за якими його можна знайти у масиві. Кількість індексів визначає розмірність масиву.
Масив оголошується наступним чином:
тип ім’я_масиву [розмір];
Розмір – це кількість елементів масиву. Розмір масиву необхідно знати і задавати заздалегідь, оскільки компілятор має зарезервувати для нього необхідний обсяг пам’яті. Розміром може бути лише стала величина (не змінна).
Проініціалізувати масив (надати значення елементам масиву) можна одним із способів:
· використовуючи принцип замовчування;
· безпосередньо під час його оголошення;
· застосовуючи команду присвоєння;
· під час введення даних із клавіатури.
За замовчуванням усім елементам масиву надається значення 0. Масив можна ініціалізувати повністю або частково відразу під час його оголошення, записуючи значення змінних через кому у фігурних дужках. Наприклад,
intStud[] = {2, 10, 5, 7, 3};
floatrist[10] = {163.4, 154.6, 170, 172, 8};
char alphavit[6] = “Абетка”
або char alphavit[6] = {‘А’, ‘б’, ‘е’, ‘т’, ‘к’, ‘а’}.
|
Для опрацювання елементів масиву найчастіше використовують команду циклу for, хоча можна застосувати і while або do-while.
Введення (виведення) елементів одновимірного масиву можна організувати з клавіатури наступним чином:
for (j=0; j<a; j++)
cin>>c[j];
Для того, щоб не вводити при кожному запуску програми всі елементи масиву, масив можна заповнити автоматично. Для цього існує функція random(K) – генератор випадкових чисел.
Наприклад:
#include <iostream>
#include <conio.h>
#include <stdlib.h>
int main()
{
const int n=6;
int k, j;
double c[n];
for (j=0; j<n; j++)
{
c[j]=random(n)-10;
cout<<c[j]<<"\n";
}
cin>>k;
return 0;
}
За допомогою операції sizeof(вираз) можна визначити розмір пам’яті, який відповідає ідентифікатору або типу.
Приклад 1. Створити масив з перших ста цілих чисел і обчислити суму всіх його значень можна одним із способів:
intn[100]; 1-й спосіб
intS = 0;
for(k = 0; k < 100; )
{
*(n + k) = ++k;
S += *(n + k);
}
| intn[100]; // 2-й спосіб
intS = 0;
for(k = 0; k < 100; k++ )
{
n[k] = k + 1;
S += n[k];
}
|