Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

О.О.П / ооп / 4_кол / Лекції / 12. Об'єктно-орієнтоване програмування, л.3

.1.ppt
Скачиваний:
29
Добавлен:
30.05.2020
Размер:
601.6 Кб
Скачать

1

Масиви

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

Особливості:

усі элементи мають один тип

увесь масив має одно им’я

усі элементи розташовані в пам’яті поруч

Приклади:

список учнів в класі

квартири у будинку

школи в місті

дані про температуру повітря за рік

Масиви

 

 

 

2

 

 

 

НОМЕР

 

 

 

 

 

 

A масив

 

 

 

елементу

 

 

 

масиву

 

2

 

4 (ІНДЕКС)

0

1

3

5

10

15

20

25

 

A[0] A[1]

ЗНАЧЕННЯ ]

A[4]

 

елементу масиву

 

 

 

НОМЕР (ІНДЕКС)

ЗНАЧЕННЯ

A[2]

елементу масиву:

елементу масиву:15

2

!Нумерація елементів масиву в Сі++ починається

зНУЛЯ!

3

Оголошення масивів

Приклади:

int X[10], Y[10]; float A[20]; char s[80];

З привласненням початкових значень :

int A[4] = { 8, -3,

інші

нульові!

float B[2] = { 1. };

 

char C[3] = { 'A', '1', 'Ю' };

! Якщо початкові значення не задані, в осередках знаходиться "сміття"!

4

Що неправильно?

const int N = 10; float A[N];

int A[10];

A[10] = 0;

float X[5]; int n = 1; X[n-2] = 4.5;

X[n+8] = 12.;

int X[4.5];

вихід за межі масиву

(стираються дані в пам'яті)

дробова частина відкидається

(помилки немає)

int X[4];

X[2] = 4.5;

float A[2] = { 1, 3.8 };

float B[2] = { 1., 3.8, 5.5 };

5

Завдання

«4»: Ввести c клавіатури масив з 5 елементів, знайти середнє арифметичне усіх елементів масиву.

Приклад:

Введіть п'ять чисел:

4 15 3 10 14

середнє арифметичне 9.200

«5»: Ввести c клавіатури масив з 5 елементів, знайти мінімальний з них.

Приклад:

Введіть п'ять чисел:

4 15 3 10 14

мінімальний елемент 3

!

При зміні константи N інша програма

не повинна змінюватися!

6

Завдання

«4»: Заповнити масив з 10 елементів випадковими числами в інтервалі [- 10.10] і знайти в нім максимальний і мінімальний елементи і їх номери.

Приклад:

Початковий масив:

4 -5 3 10 -4 -6 8 -10 1 0

максимальний a[4]=10

мінімальний a[8]=-10

«5»: Заповнити масив з 10 елементів випадковими числами в інтервалі [- 10.10] і знайти в нім два максимальні елементи і їх номери.

Приклад:

Початковий масив:

4 -5 3 10 -4 -6 8 -10 1 0 максимальні a[4]=10, a[7]=8

7

Реверс масиву

Задача: переставити елементи масиву в зворотному порядку (виконати інверсію).

0

1

… N-2 N-1

0

1

… N-2 N-1

3

5

… 9 7

7

9

… 5 3

сума індексів N-1

Алгоритм:

поміняти місцями A[0] і A[N-1], A[1] і A[N-2],

Псевдокод:

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

//поміняти місцями A[i] і A[N - 1 - i]

?Що невірно?

8

Як переставити елементи?

Задача : поміняти місцями

2

вміст двох чашок.

1

 

3

Задача: поміняти місцями вміст двох елементів

пам'яті.

x

 

y

c = x;

6

2

4

x = y;

 

 

 

 

y = c;

1

 

 

?

 

4

Чи можна обійтися без c?

c

 

 

3

9

Програма

main()

{

const int N = 10; int A[N], i, c;

//заповнити масив

//вивести початковий масив

for ( i = 0; i < N/2; i++ ) { c = A[i];

A[i] = A[N-1-i]; A[N-1-i] = c;

}

// вивести отриманий масив

}

10

Завдання

«4»: Заповнити масив з 10 елементів випадковими числами в інтервалі [- 10.10] і виконати інверсію окремо для 1-ої і 2-ої половин масиву.

Приклад:

Початковий масив:

 

 

 

 

 

4

-5

3

10

-4

 

-6

8

-10

1 0

 

 

Результат:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-4 10

3

-5

4

 

1

-10

8 -6

 

0

 

 

«5»: Заповнити масив з 12 елементів випадковими числами в інтервалі [- 12.12] і виконати інверсію для кожної третини масиву.

Приклад:

Початковий масив:

 

 

 

 

 

 

 

4

-5

3

10

 

-4

-6

8 -10

 

1

0

5

7

 

 

 

 

 

Результат :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

3

-5

4

 

-10

8

-6 -4

 

7

5

0

1