Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Мета роботи. Навчитися складати та реалізовувати у середовищі Visual C++ програми обробки масивів



Навчитися складати та реалізовувати у середовищі 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...