Скачиваний:
0
Добавлен:
04.01.2025
Размер:
267.54 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра ЭПУ

отчет

по лабораторной работе №8

по дисциплине «Информационные технологии»

Тема: «Алгоритм решения СЛАУ методом Гаусса.»

Студент гр. 1205

Агеев А.А.

Преподаватель

Ларионов И. А.

Санкт-Петербург 2022

Цель работы: решить задачу по реализации алгоритма решения СЛАУ методом Гаусса, проверить корректность результатов работы программы.

Блок-схемы:

Рисунок 1 – блок-схема алгоритма решения СЛАУ методом Гаусса

Код программы:

1) Решение СЛАУ #include<iostream>

#include <math.h>

#include <stdlib.h>

using namespace std;

int main()

{

int i, j, n, m;

cout << "Число уравнений: ";

cin >> n;

cout << "Число неизвестных: ";

cin >> m;

m+=1;

float **matrix = new float *[n];

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

matrix[i] = new float [m];

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

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

{

cout << "Элемент " << "[" << i+1 << " , " << j+1 << "]: " ;

cin >> matrix[i][j];

}

cout << "Матрица: " << endl;

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

{

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

cout << matrix[i][j] << " ";

cout << endl;

}

cout << endl;

float tmp, xx[m];

int k;

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

{

tmp=matrix[i][i];

for (j=n;j>=i;j--)

matrix[i][j]/=tmp;

for (j=i+1;j<n;j++)

{

tmp=matrix[j][i];

for (k=n;k>=i;k--)

matrix[j][k]-=tmp*matrix[i][k];

}

}

xx[n-1] = matrix[n-1][n];

for (i=n-2; i>=0; i--)

{

xx[i] = matrix[i][n];

for (j=i+1;j<n;j++) xx[i]-=matrix[i][j]*xx[j];

}

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

cout << xx[i] << " ";

cout << endl;

delete[] matrix;

return 0;

}

Листинг результатов:

  1. Решение СЛАУ:

Рисунок 2 – результат работы алгоритма генерирования подмножеств

Результат получен правильный:

Выводы: написаны программы, выведены результаты.

Соседние файлы в папке Лабы