Масиви в мові С++ План Поняття масиву. Одновимірні масиви. Багатовимірні масиви. Операції над масивами.

Презентация:



Advertisements
Похожие презентации
Вказівники і масиви в мові С++. План. 1.Загальні відомості про вказівники. 2.Операції над вказівниками. 3.Вказівники і масиви. 4.Масив як параметр функції.
Advertisements

Табличні величини. Масиви. Знайти суму елементів одновимірного масиву. Program Suma; var A:array[1..5] of integer; S,i:integer; begin for i:=1 to 5 do.
Основи алгоритмізації та програмування Опрацювання табличних величин: знаходження мінімального або максимального значення серед елементів масиву, кількості.
Типи даних мови Visual Basic та їх опис. Опис величин Величина - це об'єкт, який має стале або змінне значення. Основні характеристики величин: ім'я,
Основи алгоритмізації та програмування Опрацювання табличних величин. Заняття 1. Алгоритми формування масивів, виведення масивів, зміни значень елементів.
Цикли в мові С++ Цикл - це процес виконання певного набору команд деяку кількість разів.
Вказівники Вказівник (або покажчик) – особливий тип даних, значенням якого є адреса певного байта оперативної памяті. Значення покажчика - це беззнакове.
Розділ 3. Алгоритмізація і програмування п Алгоритми й основні алгоритмічні структури. Складання обчислювальних алгоритмів.
ПРОФІЛЬНА ІНФОРМАТИКА 10 КЛАС Масиви. Створення консольних проектів у C#
Обробка символьних рядків в мові С++. План 1.Загальні відомості про рядковий тип даних. 2.Рядок як параметр функції.
Одновимірні масиви 11 клас. Впорядкований набір змінних одного типу називається масивом. Кожна змінна, що входить до масиву, називається елементом масиву.
ПРОФІЛЬНА ІНФОРМАТИКА 10 КЛАС Масиви. Створення консольних проектів у C#
Типи даних. Змінні в С++. Присвоєння значень змінним Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель-методист Конотопської гімназії.
Вказівники, масиви. Структури Проф. Куссуль Н.М..
Ізяславський НВК 2, Гульчак І.В. Функції в електронних таблицях.
Одновимірні масиви 11 клас (продовження). Задача 4. У даному масиві з десяти дійсних чисел визначити найбільше значення. Спочатку вважатимемо, що значення.
Класи пам'яті даних. Клас пам'яті, час існування та видимість об'єкта Кожен обєкт програми (змінна, функція,...) має свій тип і клас памяті. Тип визначає.
Основи алгоритмізації та програмування Табличні величини. Опис табличних величин мовою Паскаль.
Розгалуження в алгоритмах і програмах Алгоритми з розгалуженням.
Оператори. Введення і виведення даних. Оператор присвоювання Оператори це команди програми. Оператор присвоювання є основним оператором мови програмування.
Транксрипт:

Масиви в мові С++ План Поняття масиву. Одновимірні масиви. Багатовимірні масиви. Операції над масивами.

Поняття масиву. Масив це структура однотипних елементів, що займають безперервну область пам'яті. З масивом пов'язані наступні його властивості: ім'я, тип, розмірність, розмір. Формат опису масиву наступний: тип_елементів ім'я [константний_вираз] Константний вираз визначає розмір масиву, тобто число елементів цього масиву. Наприклад, згідно опису int A[10];//оголошений масив з ім'ям А, що містить 10 //елементів цілого типу Елементи масиву позначаються індексованими іменами. Нижнє значення індексу рівне 0: А[0], А[1], А[2], А[3], А[4], А[5], А[6], А[7], А[8], А[9]

Розмір масиву може явно не вказуватися, якщо при його оголошенні проводиться ініціалізація значень елементів. Наприклад: int р[]={2,4,6,10,1}; В цьому випадку створюється масив з п'яти елементів з наступними значеннями: р[0]=2, р[1]=4, р[2]=6, р[3]=10, р[4]=1 int М[6]={5,3,2};

Приклад 9.1. Введення з клавіатури і виведення на екран одновимірного масиву. //Введення і виведення масиву #include void main () { int i, A[5]; clrscr () ; for(i=0; i<5; i++) { cout >A[i];} for(i=0; i<5; i++) cout<<"A["<<i<<"]="<<A[i]<<" "; getch(); }

Приклад 9.2. Введення дійсного числа масиву і обчислення середнього значення. //Середнє значення масиву #include void main() { const n=10; int i; double A[n], SA; clrscr(); for(i=0; i >A[i] ; } SA= 0; for(i=0; i<n;i++) SA=SA+A[i]; SA=SA/n; cout<<Seredne znachennya="<<SA; getch(); }

Приклад 9.3. Сортування масиву «методом бульбашки ». //Сортування масиву #include void main() { int X[]={6,4,9,3,2,1,5,7,8,10}; int i, j, n,A; clrscr(); n=sizeof(X)/sizeof(X[0]) ; for(i=0; i<n-1; i++) for(j=0; j<n-1-i; j++) if(X[j]>X[j+1]) {A=X[j]; X[j]=X[j+1]; X[j+1]=A;} for(i=0; i<n; i++) cout<<X[i]<<" "; getch(); }

Приклад 9.4. Кількість елементів між мінімумом і максимумом Написати програму, яка для цілочисельного масиву з 100 елементів визначає, скільки позитивних елементів розташовується між його максимальним і мінімальним елементами. Узагальнений алгоритм рішення задачі: 1.Визначити, де в масиві розташовані його максимальний і мінімальний елементи, тобто знайти їх індекси. 2.Проглянути всі елементи, розташовані між ними. Якщо елемент масиву більше нуля, збільшити лічильник елементів на одиницю.

#include int main(){ const int n = 10; int a[n] = {1, 3, -5, 1, -2, 1, -1, 3, 8, 4}; int i, imax, imin, count; for (i= imax= imin= 0; i < n; i++) { if (a[i] > a[imax]) imax= i; if (a[i] < a[imin]) imin=i;} cout << "\n\t max= " << a[imax] << " min= " << a[imin]; // otladka int ibeg = imax < imin ? imax : imin; int iend = imax < imin ? imin : imax; cout << "\n\t ibeg= " << ibeg << " iend= " << iend;// otladka for (count = 0, i= ibeg + 1; i < iend; i++) if (a[i] > 0) count++; cout << " Kilkist pozitivnih: " << count << endl; getch(); return 0; }

У приведеній нижче програмі напрям перегляду, тобто приріст індексу, зберігається в змінній d. Якщо масив є видимим «зліва направо», вона рівна 1, інакше -1. Зверніть увагу і на умову продовження цього циклу, що змінилася. #include int main(){ const int n = 10; int a[n]; int i, imax, imin, kol; cout << " Vvedit " <<n<< " cilih chisel:" << endl; for (i = 0; i > a[i]; for (i = 0; i < n; i++) cout << a[i]<< " "; for (i = imax= imin = 0; i < n; i++) { if (a[i] > a[imax]) imax= i; if (a[i] < a[imin]) imin = i; } int d = 0; if (imax < imin) d = 1; else if (imax > imin) d = -1; for (kol= 0, i= imax + d; i != imin; i+=d) if (a[i] > 0) kol++; cout << "\n Kilkist dodatnih: " << kol << endl; getch(); return 0; }

Багатовимірні масиви. Двовимірний масив трактується як одновимірний масив, елементами якого є масив з вказаним в описі типом елементів. Наприклад, оператор float R[5][10]; оголошує масив з п'яти елементів, кожен з яких є масив з десяти дійсних чисел. Окремі величини цього масиву позначаються іменами з двома індексами: R[0][0], R[0][1]..., R[4][9]. Приклад опису тривимірного масиву: double X[3][7][20] ; При описі багатовимірних масивів їх також можна ініціалізувати. int M[3][3]={ 11,12,13,21,22,23,31,32,33 };

Операції над масивами. Приклад Обчислення і виведення на екран таблиці множення у формі матриці Піфагора. // Матриця Піфагора #include void main() { int i,j, A[10][10]; clrscr(); for(i=1; i<=9; i++) { for(j=1; j<=9; j++) { A[i][j]=i*j; printf("%5d",A[i][j]); } printf ("\n"); } getch(); }

Приклад Заповнення матриці випадковими числами в діапазоні від 0 до 99 і пошук в ній максимального значення. #include #define n 5 void main () { int i, j, ImaxA, JmaxA, A[n] [n]; clrscr(); randomize(); //Установка датчика случайных чисел for(i=0; i<n; i++) { for(j=0; j<n; j++) { A[i][j]=rand()%100; cout<<setw(6) <<A[i] [ j ] ; } cout<<endl; } ImaxA=JmaxA=0; for(i=0; i<n; i++) { for(j=0; j<n; j++) if(A[i][j]>A[ImaxA][JmaxA]) { ImaxA=i; JmaxA=j; } } cout<<"Максимальне_значення: ["<<ImaxA<<"] [" <<JmaxA<<"]=" <<A[ImaxA] [JmaxA]; getch();}

Приклад 10.3 Середнє арифметичне і кількість позитивних елементів Написати програму, яка для цілочисельної матриці 10 X 20 визначає середнє арифметичне її елементів і кількість позитивних елементів в кожному рядку. #include void main(){ const int nrow = 5, ncol = 5; int a[nrow][ncol]; int i, j; cout << "Vvedite elementi masiva:" << endl; for (i = 0; i < nrow; i++) for (j = 0; j > a[i][j]; for (i = 0; i < nrow; i++) { for (j= 0; j < ncol; j++) cout << setw(4) << a[i][j] << " "; cout << endl; } int n_pos_el; float s= 0; for (i= 0; i < nrow; i++) { n_pos_el= 0; for (j = 0; j < ncol; j++) { s += a[i][j]; if (a[i][j] > 0) n_pos_el++; } cout << " Ryadok: " << i << " kilkist: " << n_pos_el<< endl; } s /= nrow * ncol; cout << "Seredne arifmetichne: " << s << endl; getch(); }