Теми рефератів
Авіація та космонавтика Банківська справа Безпека життєдіяльності Біографії Біологія Біологія і хімія Біржова справа Ботаніка та сільське гос-во Бухгалтерський облік і аудит Військова кафедра Географія
Геодезія Геологія Держава та право Журналістика Видавнича справа та поліграфія Іноземна мова Інформатика Інформатика, програмування Історія Історія техніки
Комунікації і зв'язок Краєзнавство та етнографія Короткий зміст творів Кулінарія Культура та мистецтво Культурологія Зарубіжна література Російська мова Маркетинг Математика Медицина, здоров'я Медичні науки Міжнародні відносини Менеджмент Москвоведение Музика Податки, оподаткування Наука і техніка Решта реферати Педагогіка Політологія Право Право, юриспруденція Промисловість, виробництво Психологія Педагогіка Радіоелектроніка Реклама Релігія і міфологія Сексологія Соціологія Будівництво Митна система Технологія Транспорт Фізика Фізкультура і спорт Філософія Фінансові науки Хімія Екологія Економіка Економіко-математичне моделювання Етика Юриспруденція Мовознавство Мовознавство, філологія Контакти
Українські реферати та твори » Информатика, программирование » Одновимірні масиви

Реферат Одновимірні масиви

У посібнику дається поняття масиву, правила опису масивів в програмах на мові С. Розглядаються основні алгоритми обробки одновимірних масивів. Наводяться приклади програм на мові С для всіх розглянутих алгоритмів.

Для студентів технічних спеціальностей денної та заочної форм навчання.


Зміст

Зміст

1. Масиви в мові С

1.1. Поняття масиву

1.2. Динамічні масиви

2. Алгоритми обробки одновимірних масивів

2.1. Ініціалізація масиву

2.2. Введення - виведення одновимірного масиву

2.3. Перестановка двох елементів масиву

2.4. Обчислення суми елементів масиву

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

2.6. Обчислення добутку елементів масиву

2.7. Пошук елементів, що володіють заданою властивістю

2.8 Пошук у впорядкованому масиві

2.9. Пошук мінімального і максимального елемента масиву та його порядкового номера (індексу)

2.10. Копіювання масивів

2.10 Формування нового масиву

Література

Додаток

Приклади розв'язання задач з обробки одновимірних масивів

Задача 1. Обчислення сум, кількостей і добутків елементів масиву

Задача 2. Обчислення сум, кількостей і добутків елементів масиву


1. Масиви в мові С

1.1 Поняття масиву

Масив - це сукупність елементів одного типу, що мають одне ім'я і розташованих в пам'яті ПК впритул один до одного. Масиви можуть складатися з арифметичних даних, символів, рядків, структур, покажчиків. Доступ до окремих елементів масиву здійснюється по імені масиву і індексу (порядковому номеру) елемента.

При оголошенні масиву в програмі визначається ім'я масиву , тип його елементів , розмірність і розмір . Розмірність або кількість вимірювань масиву визначається кількістю індексів при зверненні до елементів масиву. Масиви бувають одномірні, двомірні, тривимірні і т.д. . Розмір масиву - Це кількість його елементів за відповідними розмірності. Загальний вигляд оголошення масиву:

<імя_тіпа> <імя_массіва> [K1] [k2] ... [kn];

де k1, k2, ..., kn - кількість елементів масиву - константи або вирази зі по 1, 2, ..., N вимірам. Причому значення індексів можуть змінюватися від 0 до ki - 1 .

Таке оголошення масиву називають статичним , оскільки гранична кількість його елементів відомо заздалегідь і воно вже не може бути змінено в ході виконання програми. При роботі з масивами необхідно додержуватися наступних правил:

ВЁ сучасні транслятори мови Сі не контролюють допустимість значень індексів, це повинен робити програміст ;

ВЁ кількість вимірювань масиву не обмежена;

ВЁ в пам'яті елементи масиву розташовуються так, що при переході від елемента до елементу найбільш швидко змінюється самий правий індекс масиву, тобто матриця, наприклад, розташовується в пам'яті по рядках;

ВЁ ім'я масиву є покажчиком - константою на перший елемент масиву;

ВЁ операцій над масивами в Сі немає, тому пересилання елементів одного масиву в інший може бути реалізована тільки поелементно за допомогою циклу;

ВЁ над елементами масиву допускаються ті ж операції що і над простими змінними того ж типу;

ВЁ ввід/вивід значень елементів масиву можна виробляти тільки поелементно;

ВЁ початкові значення елементам масиву можна привласнити при оголошенні масиву.

Приклади оголошення масивів:

int A [10];// одновимірний масив з 10 цілочисельних величин

float X [20];// одновимірний масив з 20 речовинних величин

int a [5] = {1, 2, 3, 4, 5};// Масив з ініціалізацією його елементів

int c [] = {-1, 2, 0, -4, 5, -3, -5, -6, 1};// масив розмірність якого 6определяется числом ініціюючих елементів

Звернення до елементів одновимірного масиву можуть мати вигляд: A [0], A [1], A [2], ... A [9], A [2 * 3] .

У Сі немає масивів із змінними кордонами. Але, якщо кількість елементів масиву відомо до виконання програми, можна визначити його як константу за допомогою директиви # define , а потім використовувати її в якості межі масиву, наприклад,


# define n 10;

Main ()

{int a [n], b [n];// Оголошення 2-х одновимірних масивів

Якщо кількість елементів масиву визначається в процесі виконання програми, використовують динамічне виділення оперативної пам'яті комп'ютера.

1.2 Динамічні масиви

Якщо до початку роботи програми невідомо, скільки в масиві елементів, в програмі використовують динамічні масиви. Пам'ять під них виділяється за допомогою оператора new під час виконання програми. Адреса початку масиву зберігається в змінної, званої покажчиком . Наприклад.

int n = 20;

int * a = new int [n];

Тут описано покажчик a на цілу величину, якому присвоюється адреса початку безперервній області динамічної пам'яті, виділеної за допомогою оператора new . Виділяється стільки пам'яті, скільки необхідно для зберігання n величин типу int . Величина n може бути змінною.

Примітка: Обнулення пам'яті при її виділення не відбувається. Ініціалізувати динамічний масив можна.

Звернення до елементу динамічного масиву здійснюється також, як і до елементів звичайного масиву. Наприклад: a [0], a [1], ..., a [9] .

Можна звернутися до елементу масиву іншим способом: * (a +9), * (a + i), тому в змінної - покажчику a зберігається адреса початку масиву. Для отримання адреси, наприклад, 9 - го його елемента до цього адресою додається 9 В· sizeof (int) (9 помножити на В· довжину елемента типу int ), тобто до початкового адресою a додається зсув 9. Потім за допомогою операції * (разадресаціі) виконується вибірка значення з зазначеної області пам'яті.

Після використання масиву виділена динамічна пам'ять звільняється з допомогою опереатора: delete [] Ім'я масиву . Так наприклад, для одновимірного масиву a:

delete [] a; .

Час "життя" динамічного масиву визначається з моменту виділення динамічної пам'яті до моменту її звільнення.


2. Алгоритми обробки одновимірних масивів 2.1 Ініціалізація масиву

Ініціалізація масиву - це привласнення елементам масиву початкових значень. Ініціалізацію масиву можна виконати на етапі опису масиву, як це показано в п.1.1. Але в тому випадку, коли початкові значення отримують лише деякі елементи масиву, а інші обчислюються в процесі виконання програми, в програмі записують оператори присвоювання. Наприклад:

a [0] = -1; a [1] = 1.1;

Присвоювання всім елементам масиву одного і того ж значення здійснюється в циклі. Наприклад, щоб усім елементів масиву a присвоїти значення 0, можна скористатися алгоритмом зображений на рис. 2.1.

for (i = 0; i

a [i] = 0;

// або за допомогою циклу while

i = 0;

while (i

{

a [i] = 0;

i = i +1;

}

Малюнок 2.1 Алгоритм і фрагмент програми ініціалізації масиву

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


Страница 1 из 7Следующая страница

Друкувати реферат
Замовити реферат
Товары
загрузка...
Наверх Зворотнiй зв'язок