МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||
ПрикладОбчислити середнє значення позитивних елементів одномірного масиву.Приведемо кілька варіантів програмної реалізації цього завдання. // P2_7.CPP - обчислення середнього значення // позитивних елементів масиву // програма без використання покажчиків #include <iostream.h> main( ) { const int n = 5; float mas[n], s = 0; int kol = 0; for( int i = 0; i < n; i++) { cout << "Уведіть" << i << "елемент mas" << endl; cin >> mas[ i ]; if ( mas[ i ] > 0) { s += mas[ i ]; kol ++; } } s/ = kol; cout << "s=" << s << endl; return 0; } Використовуючи ім'я масиву, як покажчик на початок масиву (перший елемент), цю програму можна переписати в такий спосіб:
// P2_8.CPP - обчислення середнього значення // позитивних елементів масиву // використання імені масиву як покажчика на його початок #include < iostream.h> main ( )
{ const int n = 5; float mas[n], s = 0; int kol = 0;
for ( int i=0; i < n; i++) { cout << "Уведіть" << i << "елемент mas" << endl; cin >> *( mas+i); if(* ( mas+i ) > 0) { s+= *(mas+i); kol++; } } s/=kol; cout << "s=" << s << endl; return 0;
} Якщо описати покажчик, зв'язати його з масивом (адресувати на початок масиву),то використовуючи арифметику покажчиків, можна написати цю програму у вигляді: // P2_9. CPP -і обчислення середнього значення // позитивних елементів масиву // використання арифметики покажчиків #include < iostream.h> main ( ) { int kol = 0; const int n = 5; float mas[n], s = 0; float *pm = mas; // припустимий запис pm=&mas[0] for ( int i = 0; i < n; i++) { cout << "Уведіть" << i << "елемент mas" << endl; cin >> *pm++; cout << mas[i] << endl; if (mas[i] > 0) { s+=mas[i]; kol++; } } s/= kol; cout << "s=" << s << endl; return 0;
}
У наведеній програмі при уведенні масиву використався покажчик *pm , а при роботі з ним —ім'я масиву з індексом. Якби при роботі з масивом використався покажчик *pm ,то результат був би не вірним. Це пояснюється тим, що покажчик *pmв операціях уведення він збільшує свою адресу( pm++) після уведення чергового елемента масиву й надалі вказує ще не уведений елемент. Наведемо ще один варіант програмної реалізації цього ж завдання. // P2_10.СРР -і обчислення середнього значення // позитивних елементів масиву
// використання покажчиків #include < iostream.h > main ( ) { const int n = 5; float mas[n], s = 0; float *pm = mas; // *pm=&mas[0] int kol = 0;
for ( int i = 0 ; i < n ; i++) { cin >> *pm; cout << "Уведіть" << i << "елемент mas" << endl; if (*pm > 0) { s += *pm; kol ++; *pm ++; } } s/= kol; cout << "s=" << s << endl; return 0; }
ПрикладСкласти програму сортування одномірного масиву по убуванню методом вставки. // P2_11.CPP — сортування методом вставки (по убуванню) // застосування покажчиків #include < iostream.h > #include < conio.h > main ( ) { int stc, mas [6], i, j; int *pmas;
pmas = mas; cout << "Уведіть 6 елементів масиву" << endl; for ( i = 0; i < 6; i++) cin >>*pmas++; // Наступний оператор знову встановлює покажчик на початок масиву // (інакше він буде вказувати на наступний за масивом адреса) pmas = mas; for ( i =1; i < 6; i++) { stc = *(pmas + i); j = i - 1; while ( j >= 0 && stc > *(pmas+j)) { *(pmas+j+1) = *(pmas+j); j - - ; } *(pmas+j+1) = stc; } cout << "Результат" << endl; for ( i = 0; i < 6; i++) cout << i << " елемент " << *(pmas + i ) << endl; //Можна використати й таку конструкцію оператора // cout << i << " елемент " << * pmas++ << endl; getch ( ); //Для затримки екрана виводу результату return 0; } Читайте також:
|
||||||||
|