Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_СИ_1.doc
Скачиваний:
15
Добавлен:
20.02.2016
Размер:
329.73 Кб
Скачать

7. Структуровані типи даних

7.1 Визначення масивів

До структурованих типів даних відносяться:

1) масиви;

2) множини;

3) структури;

4) файли

5) рядки.

Змінна або константа структурованого типу завжди має декілька компонентів. Кожна компонента, в свою чергу, може належати до структурованого типу.

Масив – це структура даних, яка є впорядкованою сукупністю значень одного типу (з Оксфордського словника англійської мови, 1995 р.).

Тип елементів масиву називається базовим типом і може бути будь-яким: простим чи складним.

Елементи масиву впорядковані по індексах. Тип індексів може бути будь-яким простим, крім з плаваючою крапкою.

Опис масиву:

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

float C [2] [3]; // двовимірний масив з 6 чисел з плаваючою крапкою

Нумерація індексів починається з 0.

У пам’яті комп’ютера (ПК) елементи масиву розташовані один за одним так, що при переході від елемента до елемента найшвидше змінюється самий правий індекс масиву. Таким чином, двовимірний масив (матриця) розташовується в пам’яті по рядках.

Звернення до елемента масиву:

A[i] – до елемента аi одновимірного масиву;

C[i][j] – до елемента cij двовимірного масиву.

Введення-виведення елементів масиву можна виконувати тільки поелементно, тобто за допомогою операторів циклу.

7.2. Одновимірні масиви

ПРИКЛАД 1.

В одновимірному масиві з n елементів, знайти максимальний елемент та його індекс.

Блок-схема:

Програма:

#include <iostream.h>

int const N=8;

void main()

{

int A[N];

cout<<"Enter A from"<<N<<"elem\n";

for(int i=0;i<N;i++) // введення елементів масиву

cin>>A[i];

cout<<endl;

int max=A[0];

int ind=0;

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

if (A[i]>max)

{

max=A[i];

ind=i;

}

cout<<"max="<<max<<"ind="<<ind<<endl;

}

ПРИКЛАД 2.

Дано масив X з 30 цілих чисел. Сформувати новий масив Y, в який ввійдуть парні числа масиву X і обчислити їх суму.

Блок-схема:

Програма:

#include <iostream.h>

int const N=8;

void main()

{

int X[N],Y[N];

int K=0, summa=0;

cout<<"Enter X from "<<N<<" elem\n";

for(int i=0;i<N;i++)

cin>>X[i];

cout<<endl;

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

if (X[i] % 2 ==0)

{

Y[K]=X[i];

K++;

summa=summa+X[i];

}

if(K != 0)

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

cout<<Y[i]<<" \n"; }

else

cout<<"K=0\n";

cout<<"summa="<<summa;

}

Варіанти індивідуальних завдань

1. Масив призначений для зберігання значень ваги 20 чоловік. Заповнити масив випадковими числами з діапазону (50;100).

2. Заповнити масив десятьма першими членами арифметичної прогресії з а та її різницею р.

3. Дан масив. Скласти програму розрахунку квадратного кореню з усіх елементів масиву.

4. Дан масив. Всі його елементі зменшити на 20.

5. Дан одновимірний масив. Помножити всі елементи на останній.

6. Дан одновимірний масив. Знайти суму всіх елементів масиву.

7. Дан одновимірний масив. Знайти суму квадратів всіх елементів масиву.

8. Дан одновимірний масив. Знайти середнє арифметичне всіх елементів масиву.

9. Дан одновимірний масив цілих чисел. Визначити, чи вірне те, що сума його елементів парне число.

10. Дан масив цілих чисел. Надрукувати всі парні елементи.

11. Дан одновимірний масив. Надрукувати спочатку всі позитивні, потім від’ємні елементи.

12. Дан одновимірний масив. Надрукувати спочатку всі парні елементи, потім непарні.

13. Дан одновимірний масив. Кожен від’ємний елемент замінити його абсолютною величиною.

14. Дан одновимірний масив. Всі непарні елементи подвоїти, а парні – збільшити вдвоє.

15. Елементи одновимірного масиву зрушити циклічно на одну позицію вправо. Отриманий масив відсортувати по зростанню.

16. В одновимірному масиві всі негативні елементи замінити їх індексами. В отриманому масиві знайти максимальний елемент і поміняти його місцями з останнім елементом.

17. Дано одновимірний масив А. Розділити всі елементи масиву на їх суму. З елементів великих 1 створити новий масив.

18. В одновимірному масиві порахувати кількість елементів, кратних 3 (якщо їх немає, результат дорівнює 0). Отриманим числом замінити елементи з парними індексами.

19. Дано одновимірний масив. Записати в цей же масив спочатку всі від’ємні числа, а потім усі більші нуля і нулі, зберігаючи порядок їх проходження.

20. В одновимірному масиві знайти мінімальний і максимальний елементи і поміняти їхній місцями.