
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ЭПУ
отчет
по лабораторной работе №7
по дисциплине «Информационные технологии»
Тема: «Алгоритм перемножения матриц. Алгоритм нахождения определителя.»
Студент гр. 1205 |
|
Агеев А.А. |
Преподаватель |
|
Ларионов И. А. |
Санкт-Петербург 2022
Цель работы: решить задачи по реализации алгоритмов перемножения матриц и нахождения определителя, проверить корректность результатов работы программы.
Блок-схемы:
Рисунок 1 – блок-схема алгоритма перемножения матриц
Рисунок 2 – блок-схема алгоритма нахождения определителя
Код программы:
1) Перемножение матриц #include <iostream>
using namespace std;
int main ()
{
const int N = 3;
int i, j, k;
double A[N][N];
double B[N][N];
double C[N][N];
cout << "Matrix A:\n";
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
cin >> A[i][j];
cout << "Matrix B:\n";
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
cin >> B[i][j];
cout << "Matrix C=AB:\n";
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
C[i][j] = 0;
for (k = 0; k < N; k++)
C[i][j] += A[i][k] * B[k][j];
cout << C[i][j] << " ";
}
cout << endl;
}
return 0;
}
2) Нахождение определителя
#include <iostream>
using namespace std;
int main ()
{
const int N = 2;
int i, j, det;
double A[N][N];
cout << "Matrix A:\n";
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
cin >> A[i][j];
cout << "det:\n";
det = A[0][0]*A[1][1] - A[0][1]*A[1][0];
cout << det << " ";
cout << endl;
return 0;
}
Листинг результатов:
Перемножение матриц:
Рисунок 3 – результат работы алгоритма генерирования подмножеств
Нахождение определителя:
Рисунок 4 - результат работы алгоритма нахождения определителя
Выводы: написаны программы, выведены результаты.