Приклад програми по обробці матриць

Рекомендації по написанню програм з використанням обробки масивів та матриць

Операції з елементами матриці

Де тип_елементів – це деякий стандартний тип (int, float), розмірність – кількість елементівмасиву. Індексація виконується з 0.

Основні теоретичні відомості

Завдання на лабораторну роботу

1. Ознайомитися з теоретичними відомостями даних методичних вказівок.

2. Скласти та виконати на ПЕОМ програми з таблиці 3.1 відповідно до варіанту.

3. Оформити звіт та захистити роботу.

 

Таблиця 3.1 – Індивідуальні завдання до лабораторної роботи №3

№ варіанта Номери задач № варіанта Номери задач
374б, 395, 692а, 674 389, 408, 692в, 694б
374а, 400, 676б, 413а 413а, 369, 393б, 383
374в, 397а, 692б, 675 387, 412б, 692и, 694в
375, 397б, 412а, 678 410г, 370а, 393а, 384
379а, 412б, 692в, 679а 388, 412в, 692к, 694г
379б, 396, 405, 688 389, 412г, 693а, 694д
379в, 412в, 692г, 679б 390а, 409, 693б, 694е
390г, 372, 394а, 376а 410в, 370б, 394г, 385
379г, 412г, 692д, 376б 390б, 378а, 410е, 694ж
390б, 373б, 401а, 676а 391, 378б, 691а, 694в
410а, 371, 394б, 387 392, 410д, 691б, 694е
379а, 403а, 692е, 687 419б, 370б, 394в, 386
390в, 373а, 402б, 376б 413б, 368, 393в, 382
377, 403б, 692ж, 694а 413в, 367, 393г, 381

 

Масив це – сукупність елементів одного типу. Масив об’являється наступним чином:

тип_елементів ім’я_масиву [розмірність];

При зверненні до елементу масива використовуються індекси:

for (i=0; i<n; i++) cout<<a[i];

У повсякденній практиці програміста нерідко доводиться мати справу з матрицею (двумірним масивом).

Матриця – це прямокутна (в частинному випадку - квадратна) таблиця чисел, що має M рядків та N стовпців.

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

а) масив (матриця) повинний бути оголошений;

б) при оголошенні масиву (матриці) при задані розмірності зручно використовувати іменовані константи;

в) доступ до елемента масиву (матриці) здійснюється шляхом вказівки індексу (номера) елемента, у якості якого можна використовувати вираз цілого типу, наприклад, цілу константу чи змінну типу int;

г) для введення, виведення та обробки масивів зручно використовувати оператори циклів (for, while, do while);

д) для роботи з матрицями найчастіше треба використовувати вкладені цикли.

Опис матриці та введення даних до неї розглянемо на елементарному прикладі роботи з матриціями:

Завдання: В квадратній матриці з правого боку від побічної діагоналі знайти найбільший елемент і відповідний номер рядка.

# include <iostream.h>

const int M=5, N=5;

void main ()

{ int a[M][N];

int i, j, maxzn, nom;

cout <<”Введіть матрицю \n”;

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

for (j=0; j<N; j++)

cin >>a[i][j]; //Вводимо значення елементів масиву

maxzn=a[0][0];

nom=1;

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

for (j=N-i+1; j<N; j++)

if (maxzn<a[i,j])

{ maxzn=a[i,j];

nom=i; }

cout << “Початкова матриця \n”;

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

{ for (j=0; j<N; j++)

cout <<a[i,j];

cout << “\n”;}

cout << “max елемент=”<<maxzn<<“номер рядка=”<<nom;

}

Важливе місце в цій програмі займає організа­ція внутрішнього циклу. При i=l змінна j приймає значення j=5, при i=2 індекс j буде змінюватись від 4 до 5, і так далі. При i=5 параметр j змінюється від 1 до 5. Такі зна­чення індексів забезпечують перегляд всіх елемен­тів, які розміщені на побічній діагоналі та з правого боку від неї.