Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Навчитися складати та реалізовувати у середовищі Visual C++ програми обробки масивів.
2.2 Методичні вказівки до організації самостійної роботи студентів
При роботі з масивами треба звернути увагу на введення та виведення даних. При програмуванні обов'язково треба використовувати покажчики. Покажчик — особливий тип даних, призначений для збереження адреси в пам'яті.
Робота з покажчиками значно прискорює виконання програми. Якщо до покажчика масиву mas, наприклад, додати значення 3, це призводить до отримання нового покажчика на четвертий (!) елемент масиву. При цьому перехід виконується у відповідності до типу масиву.
Тісний зв'язок з покажчиками має визначений у мові C++ тип даних – масив, або вектор. Масиви — це структурований тип даних, які представляють собою безупинні блоки пам'яті, що містять безліч елементів того самого типу. Ознакою масиву при описі є наявність парних дужок — “[ ]”. Елементи масива нумеруються з 0. Наприклад:
int mas1[21]; char mas2[67];
де оголошені вектор mas1, що містить 21 елемента типу int і вектор mas2, що містить 67 елементів типу char.
У C++ дозволені два способи доступу до елементів вектора: з використанням механізму покажчиків і класичний — за допомогою індексу.
Застосування механізму покажчиків засновано на використанні факту, що ім'я вектора є покажчиком – константою, що дорівнює адресі початку вектора - першого байта першого елемента вектора (mas1==&mas1[0]). У результаті цього, використовуючи операцію разіменування «*» можна забезпечити доступ до будь – якого елемента вектора. Так, еквівалентними будуть звертання до i-го елементу вектора з використанням індексу — mas1[i] і посилання *(mas1+i), оскільки (mas1+i)==& mas1[i].
Багатомірні масиви в С++ представляються у виді векторів покажчиків на вектори - багатомірні вектора.
Використання механізму покажчиків для доступу до деякого і,j,k-го елементу тривимірного вектора може бути таким:
b[і][j][k]= = *(b[і][j]+k)= =*(*(b[і]+j)+k)= =*(*(*(b+і)+j)+k).
У цих звертаннях використаний той факт, що, ім'я багатомірного вектора є покажчиком – константою на вектор покажчика - констант вектора рядка, перший елемент якого є теж покажчик- константа рядка. Елементи багатомірних векторів зберігаються в пам'яті в порядку зростання самого правого індексу – по рядках, тобто останній індекс змінюється швидше.
Приклад 2.1 Знайти у масиві mas найменший елемент та його індекс.
#include <iostream.h>
#include <conio.h>
void main()
{
const int n=5;
int mas[n];
cout<<"Vvedit "<<n<<" elemetiv massivu "<<endl;
int i;
for(i=0;i<n;i++)
cin>>mas[i];
int imin=0;
for(i=1;i<n;i++)
if (mas[imin]>mas[i])
imin=i;
cout<<"min="<<mas[imin]<<"\tindex="<<imin<<endl;
getch();//задержка экрана
}
Приклад 2.2 Відсортувати масив mas дійсних чисел розміром 10 елементів за зменшенням.
#include <iostream.h>
#include <сonio.h>
Дата публикования: 2015-04-07; Прочитано: 533 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!