Заповнення масиву випадковими числами

Лабораторний практикум присвячений мові Сі в його базовому варіанті. Для виконання даного циклу придатна будь-яка операційне середовище і будь-яка система програмування Сі, так як ті властивості мови, які тут вивчаються, є ядром мови і присутні у всіх її реалізаціях. Тут розглядається робота в операційній системі Windows XP і системі програмування Borland C.

Опис кожної лабораторної роботи починається з розділів «Мета роботи», «Короткі теоретичні відомості» і «Приклади розв'язання задач». Зазначені в розділі «Короткі теоретичні відомості» теми обов'язково повинні бути вивчені за матеріалами лекційного курсу і по літературі до початку лабораторної роботи, а також повинні бути розібрані всі рішення, наведені в розділі «Приклади розв'язання задач».

Лабораторна робота № 13

Мета роботи: отримання практичних навичок в роботі з одновимірними масивами.

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

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

Масив називається одновимірним. якщо він складається з одного рядка і N стовпців (вектор).

Формат опису масиву наступний:

тіп_елементов ім'я [розмірність];

Розмірність - це кількість елементів в масиві (ціла позитивна константа).

Даний запис означає, що резервується пам'ять для 10 чисел цілого типу з ім'ям array і порядковими номерами (індексами) від 0 до 9 включно. У Сі індексація починається з нуля, тому розмір масиву, зазначений в описі, завжди на одиницю більше максимального значення індексу.

Щоб звернутися до окремого елементу масиву, треба вказати ім'я масиву та номер елемента в масиві (індекс) в квадратних дужках. Індекс є цілим числом.

array [0] - перший елемент масиву, array [9] - останній елемент масиву.

Елементи масиву володіють всіма атрибутами заданого типу.

§ неініціалізованих (наприклад, масив з чотирма елементами цілого типу можна визначити як int array [4];);

§ ініціалізований. Визначається наступним чином: int array [] =;

Введення елементів масиву

Введення елементів одновимірного масиву з клавіатури здійснюється наступним чином:

const int n = 5; // кількість елементів в масиві

scanf ( "% f", array [i]); // зчитування з клавіатури елемента

Заповнення масиву випадковими числами

Нехай потрібно заповнити масив рівномірно розподіленими випадковими числами в інтервалі [a, b]. Оскільки для цілих і дійсних чисел способи обчислення випадкового числа в заданому інтервалі відрізняються, розглянемо обидва варіанти. Тут і далі передбачається, що на початку програми є рядок

Опис функції-датчика випадкових чисел знаходиться в заголовки stdlib.h.

Зручно також додати в свою програму функцію random:

яка видає випадкові числа з рівномірним розподілом в інтервалі [0, N-1]. Для отримання випадкових чисел з рівномірним розподілом в інтервалі [a, b] треба використовувати формулу

Для дійсних чисел формула дещо інша:

Тут константа RAND_MAX - це максимальне випадкове число, яке видає стандартна функція rand.

У наведеному нижче прикладі масив A заповнюється випадковими цілими числами в інтервалі [-5,10]. а масив X - випадковими числами в тому ж інтервалі.

int i, A [n], a = -5, b = 10 ;;

randomize (); // ініціалізація генератора випадкових чисел

A [i] = random (b-a + 1) + a; // кожному елементу масиву

// привласнює деякий випадкове значення

Якщо необхідно, щоб числа були не тільки позитивними, але й негативними, можна записати, наприклад, так:

array [i] = 20 - random (100);

Висновок елементів масиву

1. Висновок елементів масиву в один рядок екрана:

printf ( "% f \ t", array [i]); // \ t - табуляція

Для виведення елементів масиву в один стовпець екрану в функції printf потрібно замінити \ t на \ n - перехід на новий рядок екрана.

За допомогою операції sizeof () можна визначити розмір пам'яті, яка відповідає ідентифікатору або типу. Операція sizeof () має такий вигляд:

Як вираження може бути використаний будь-який ідентифікатор або ім'я типу. Якщо в якості вираження вказано ім'я масиву, то результатом є розмір всього масиву (т. Е. Твір числа елементів на довжину типу).

printf ( ". \ n", sizeof (array));