Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C++ Metod_new.doc
Скачиваний:
6
Добавлен:
10.11.2019
Размер:
939.52 Кб
Скачать

Тема 7: масиви план

  1. Одномірні масиви, їхня ініціалізація.

  2. Сортування масивів.

  3. Розміщення одномірного масиву в пам’яті.

  4. Багатомірні масиви і їхнє розміщення в пам’яті.

1. Одномірні масиви, їхня ініціалізація

Нагадаємо опис символьних масивів

char name[]="Привіт";

аналогічно

char name[7]="Привіт";

7-му елементу привласнене значення ’\0’;

Всі індекси починаються з нуля

Виведення 1-го і 6-го елементів

cout << name[0]<<" "<< name[5];

Приклади визначення (описи) масивів інших типів:

int a[10],ss[20];

double cc[15],k[4];

Функція sizeof() – повертає число байтів, необхідне для розміщення в пам’яті її аргументу.

Наприклад:

int ss[10];

n=sizeof(s); // результат 20 байтів

n=sizeof(s[3]); // результат 2

Ініціалізація масивів може бути під час оголошення або програмним шляхом.

С++ автоматично ініціалізує глобальні масиви двійковим нулем. Всі символи рівні нулю, а елементи масивів, що містять число, також рівні нулю.

Ініціалізація під час оголошення.

char t[5]="Маша";

char k[5]={’М’, ’а’, ’ш’, ’а’};

t – рядок, k – не рядок – немає двійкового нуля наприкінці.

int m[5]={2,3,4,5,6};

або

int m[]={2,3,4,5,6};

double s[3]={1.23,4.57,8. 675};

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

Ви повинні виводити масив по одному елементу. Немає можливості роздрукувати масив за допомогою одного елемента cout. (Виняток складає символьний масив, у якому є обмежувач рядка.)

Приклад 1. Знаходження в масиві найбільшого значення.

#include <iostream.h>

#define SIZE 10

void main()

{

//Ініціалізація під час оголошення

int ara[SIZE]={5,2,7,9,34,56,6,4,285,17};

int max,i;

max=ara[0];

for(i = 1; i < SIZE; i++)

if (ara[i] > max) max = ara[i];

cout << max;

}

Приклад 2. Знаходження max і min значення, заповнюючи масив довільними значеннями від 0-99.

#include <iostream.h>

#include <time.h>

#include <stdlib.h>

#define SIZE 15

void main()

{

int ara[SIZE];

int i, max, min;

randomize();//(не має місця у Visual C++)

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

ara[i] = rand()%100;

//Виведення масиву на екран

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

cout << ara[i] <<"\n";

max = min = ara[0];

for (i = 1; i < SIZE; i++)

{

if (ara[i] > max) max = ara[i];

if (ara[i] < min) min = ara[i];

}

cout <<max<<" "<<min;

}

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

#include <iostream.h>

#define MAX 100

void main()

{

int i,num = 0;

long int ss,pt[MAX];

do

{

cout << "Введи число ->";

cin >> ss;

if (ss == -1) break; //Вихід за бажанням

//користувача

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

if (ss == pt[i]) break;

if (i == num)

{

pt[num] = ss;

num++;

}

}

while (num < MAX);

cout << "Результат: \n";

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

cout << pt[i] << "\n";

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]