Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода по практическим.doc
Скачиваний:
2
Добавлен:
25.11.2019
Размер:
259.07 Кб
Скачать
  1. Контрольні запитання:

    1. Які бувають різновиди типу з плаваючою точкою?

    2. Які керуючі послідовності використовуються в програмі?

    3. Визначення та різновиди операцій.

    4. Оператор циклу з постумовою.

Практична робота 2

Тема. Одномірні та двомірні масиви

Мета: закріпити основні відомості, вивчені на лекції – тип даних масив, визначення, призначення та оголошення масивів; використання операторів циклу з параметром.

Виконання

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

Іменована послідовність однотипних величин називається масивом. Масив має тип, ім’я та розмірність. Розмірність масиву задається за допомогою іменованих констант в квадратних дужках. Звернутися до елементу масиву можна по номеру елементу. Нумерація елементів масиву починається з нуля. Якщо масив необхідно ініціалізувати, значення задаються в фігурних дужках через кому.

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

Динамічні масиви створюють за допомогою операції new, при цьому необхідно вказати тип і розмірність.

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

Для створення динамічного багатомірного масиву необхідно вказати в операції new всі його розмірності (сама ліва розмірність може бути змінної).

При роботі з масивами зазвичай використовують цикли з параметром ( for)

Формат оператора:

for (ініціалізація; вираз; модифікація) оператор;

Ініціалізація використовується для об’яви та присвоєння початкових значень величинам, що використовуються в циклі.

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

Для переривання роботи циклу, або для переривання виконання поточної операції циклу використовуються оператори передачі керування:

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

- оператор continue - оператор переходу до наступної ітерації циклу continue пропускає всі оператори, що залишилися до кінця тіла циклу, та передає керування на початок наступної ітерації.

  1. Розглянемо програми, які є прикладами роботи з масивами

Приклад 1. Сортування цілочисельного масиву методом вибору. Алгоритм полягає в тому, що вибирається найменший елемент масиву й міняється місцями з першим елементом, потім розглядаються елементи, починаючи із другого, і найменший з них міняється місцями із другим елементом, і так далі (n-1) раз (при останньому проході циклу при необхідності міняються місцями передостанній і останній елементи масиву).

#include <iostream.h>

int main( ){

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

int b[n]; // оголошення масиву

int i;

for (i = 0; i<n; i++) cin » b[i]; // введення масиву

for (i = 0; i<n-1; i++){ // n-1 раз шукаємо найменший елемент

// приймаємо за найменший перший з розглянутих елементів:

int imin = i;

// пошук номера мінімального елемента з неупорядкованих:

for (int j = i + 1; j<n; j++)

// якщо знайшли менший елемент, запам'ятовуємо його номер:

if (b[j] < b[imin]) {imin = j;

int a = b[i]; // обмін елементів

b[i] = b[imin]; // з номерами

b[imin] = a; //i та imin

}}

// вивід упорядкованого масиву:

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

cout « b[i] «” “;

return 0;

}

Ідентифікатор масиву є константним покажчиком на його нульовий елемент.

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

#include <iostream.h>

int main(){

const int nstr = 4, nstb = 5; // розмірності масиву

int b[nstr][nstb]; // опис масиву

int i, j;

for (i = 0; i<nstr; i++) // уведення масиву

for (j = 0; j<nstb; j++) cin>> b[i][j];

int istr = -1, MaxKol = 0;

for (i = 0; i<nstr; i++){ // перегляд масиву по рядках

int Kol = 0:

for (j = 0: j<nstb; j++) if (b[i][j] = = 0)Kol++;

if (Kol > MaxKol){istr = i; MaxKol = Kol;}

}

cout<<" Вихідний масив:");

for (i = 0; i<nstr; i++){

for (j = 0: j<nstb; j++) cout<< b[i][j]<<endl;

}

if (istr = = -l) cout<<"Нульових елементів немає";

else cout<<"Hoмep рядка: "<< istr;

return 0;

}

Номер шуканого рядка зберігається в змінній istr, кількість нульових елементів у поточному (i-му) рядку - у змінній Kol, максимальна кількість нульових елементів - у змінній MaxKol. Масив проглядається по рядках, у кожному з них підраховується кількість нульових елементів (зверніть увагу, що змінній Kol присвоюється 0 перед переглядом кожного рядка). Найбільша кількість і номер відповідного рядка запам'ятовуються.

3 Завдання: виконати маніпуляції з масивом за варіантом.

Варіант 1

В одномірному масиві, що складається з п речовинних елементів, обчислити:

1) суму від’ємних елементів масиву;

2) добуток елементів масиву, розташованих між максимальним і мінімальним елементами.

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

Варіант 2

В одномірному масиві, що складається з п речовинних елементів, обчислити:

1) суму додатних елементів масиву;

2) добуток елементів масиву, розташованих між максимальним по модулю й мінімальним по модулю елементами.

Упорядкувати елементи масиву по убуванню.

Варіант 3

В одномірному масиві, що складається з п цілих елементів, обчислити:

1) добуток елементів масиву з парними номерами;

2) суму елементів масиву, розташованих між першими й останнім нульовими елементами.

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

Варіант 4

В одномірному масиві, що складається з п речовинних елементів, обчислити:

1) суму елементів масиву з непарними номерами;

2) суму елементів масиву, розташованих між першими й останнім від’ємними елементами.

Упорядкувати елементи масиву по убуванню.

Варіант 5

В одномірному масиві, що складається з п речовинних елементів, обчислити:

1) мінімальний елемент масиву;

2) суму елементів масиву, розташованих між першими й останнім додатними елементами.

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

Варіант 6

В одномірному масиві, що складається з п цілих елементів, обчислити:

1) номер максимального елемента масиву;

2) добуток елементів масиву, розташованих між першими й другим нульовими елементами.

Упорядкувати елементи масиву по убуванню.

Варіант 7

В одномірному масиві, що складається з п речовинних елементів, обчислити:

1) номер мінімального елемента масиву;

2) суму елементів масиву, розташованих між першими й другим від’ємними елементами.

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

Варіант 8

В одномірному масиві, що складається з п речовинних елементів, обчислити:

1) максимальний по модулю елемент масиву;

2) суму елементів масиву, розташованих між першим і другим додатними елементами.

Упорядкувати елементи масиву по убуванню.

Варіант 9

В одномірному масиві, що складається з п цілих елементів, обчислити:

1) мінімальний по модулі елемент масиву;

2) суму модулів елементів масиву, розташованих після першого елемента, рівного нулю.

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

Варіант 10

В одномірному масиві, що складається з п речовинних елементів, обчислити:

1) кількість елементів масиву, що лежать у діапазоні від А до В (змінні А та В вводяться з клавіатури);

2) суму елементів масиву, розташованих після максимального елемента.

Упорядкувати елементи масиву по убуванню.