You are on page 1of 5

ЛАБОРАТОРНА РОБОТА № 13

Тема: Складання та налагодження програм обробки матриць.


Мета: Придбати наступні практичні навички при складанні та
налагодженні програм обробки матриць:
− опис матриці;
− формування динамічної матриці;
− використання вкладених циклів для введення/виведення та обробки
матриці;
− форматоване виведення матриці.

Хід роботи
1 Постановка задачі.
Загальна постановка завдання:
Скласти та налагодити програму введення матриці А(N,M) (N та M
вводяться користувачем) та обробки її за алгоритмом згідно Вашого варіанту.
Програма повинна задовольняти наступним вимогам:
− Формування динамічної матриці;
− введення значень елементів матриці проводити в окремому циклі;
− вивести введену матицю;
− при обробці матриці враховувати, що шукані елементи можуть бути
відсутні. В цьому випадку вивести користувачеві відповідне повідомлення;
− введення та виведення вхідних та вихідних даних повинно містити
необхідні для користувача повідомлення.

Для введеної користувачем матриці дійсних чисел A(N,M). Обчислити


кількість від’ємних елементів у кожному із стовпчиків.
2 Текст програми мовою програмування С++.
#include <iostream>
#include <Windows.h>

using namespace std;

int main()
{
SetConsoleOutputCP(1251);

int n, m;

cout << "Введіть кількість рядків:\n>>>";


cin >> n;
cout << "\nВведіть кількість стовпців:\n>>>";
cin >> m;

double** matr = new double* [n];


for (int i = 0; i < n; i++) {
matr[i] = new double[m];
}

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


for (int j = 0; j < m; j++)
{
cout << endl << "Введіть [" << i + 1 << "][" << j +
1 << "] елемент ";
cin >> matr[i][j];
}

cout << endl << "Введена матриця:" << endl;


for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
cout.setf(ios::right);
cout.width(5);
cout << matr[i][j];
}
cout << endl;
}

cout << "\nКількість від’ємних елементів у кожному із


стовпчиків:\n";
for (int j = 0; j < m; j++) {
int count = 0;
for (int i = 0; i < n; i++) {
if (matr[i][j] < 0) {
count++;
}
}

if (count == 0) {
std::cout << "У стовпці " << j + 1 << ": від’ємних
елементів немає!\n";
}
else {
std::cout << "У стовпці " << j + 1 << ": кількість
від’ємних елементів - " << count << "\n";
}
}

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


delete[] matr[i];
}
delete[] matr;

return 0;
}
3 Копія вікна виконання програми.
4 Висновок.
В результаті виконання лабораторної роботи опрацьовано теоретичний
матеріал за темами:
− Робота з динамічними матрицями.
− Обробка динамічних матриць.
Відповідно до поставленого завдання розроблено та налагоджено
програму лінійного алгоритму мовою програмування С/С++.

You might also like