Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-1 Программирование С++ / метод_лб_ пз_Інформатика.doc
Скачиваний:
5
Добавлен:
31.01.2021
Размер:
699.9 Кб
Скачать

Void main ( )

{

const int n = 10; // розмірність масиву

float mas[n]; // опис одновимірного масиву

int i, k;

float s;

s = 0 ; // s - змінна для підсумовування оцінок групи

k = 0 ; // k - змінна для підрахунку кількості відмінників

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

{

cout << " mas [ " << i << "] = ";

cin >> mas [ i ] ;

cout << mas [ i ] << endl;

s = s + mas [ i ];

if ( mas[ i ] = = 5)

k =k+1;

}

cout << "Середній бал = " << s / float(n ) << endl;

cout << "Кількість відмінників =" << k<< endl;

}

У цій програмі змінна s служить для обчислення суми оцінок групи, а змінна k — для підрахунку кількості відмінників. Перед обчисленням треба задати цим змінним початкового нульового значення. Оператор

cout << " mas [ " << i << "] = ";

усередині циклу виконує роль підказки про необхідність введення чергової оцінки, а наприкінці використовується для виведення результатів обчислення ( cout << "Середній бал"<< s / float (n) << endl; cout << "Кількість відмінників =" <<k<< endl;) .

Крім одновимірних масивів, тобто таких, де положення елемента визначається за допомогою одного індексу, у практиці розв’язання задач часто застосовуються багатовимірні масиви. У них положення елемента визначається шляхом запису декількох індексів. Найбільш широке поширення одержали двовимірні масиви, які називаються матрицями. Матриці являють собою порядковий запис декількох одновимірних масивів, наприклад:

Місце розташування кожного елемента визначається за допомогою двох індексів — номера рядка і номери стовпця, тобто порядкового номера в рядку.

Індекси таких масивів записуються в квадратних дужках. Наприклад, запис М[1] [2] вказує на елемент, що знаходиться в другому рядку і третьому стовпці, тобто маючий значення -20.5 (рахунок індексів починається з 0). Для перебору всіх елементів матриці при їхньому введенні-виведенні, а також при обробці в програмі варто передбачати організацію двох циклів: один — для завдання значень індексу рядків, інший -індексу стовпців.

Приклад 2.3 До кожного елемента вищенаведеної матриці M додати число 10.

// Р2_4.CPP використання двовимірних масивів

// До кожного елемента матриці додати число 10.

#include < iostream>

using namespace std;

Void main ( )

{

const int n = 3; // кількість рядків матриці

const int m = 5; // кількість стовпців матриці

float M [ n] [m];

int i, k;

float s;

s = 10 ;

cout << " Введіть значення масиву:" << endl;

// Введення значень двовимірного масиву

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

for ( k = 0; k < m; k ++)

{

cout << " M [ " << i << "] = " << "[ " << k << ]" ;

cin >> M [ i ] [ k ];

cout << M [ i ] [ k ] << endl;

M [ i ] [ k ] = M [ i ] [ k ] + s ; // Можна M [ i ] [ k ] + = s ;

}

cout << "Нове значення матриці :" << endl;

// Виведення матриці в природному вигляді

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

{

cout << endl;

for ( k = 0; k < m; k++)

cout << M [ i ] [ k ] << " ";

}

}

У програмі при описі матриці в операторі

float M[n][m];

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

При введенні, обробці і виведенні матриці для перебору всіх її елементів використовується два цикли, один із яких є вкладеним в іншій. Це дозволяє при кожнім значенні змінної i перебирати всі значення k.

Розглянута програма може бути скорочена шляхом об'єднання всіх трьох блоків циклу в один, але в такому випадку вона буде менш наочною.