![]() |
Методы Гаусса и Крамера[c++]
Как-то на кряклабе нашёл несколько примеров по решению систем линейных уравнений этим методом. Но 404. :( . Решил написать сам.
Для привидения матрицы к главному ступенчатому виду использовал метод ведущего элемента(для машины он проще чем сначала получение верхне треугольной матрицы , а потом самого вида.) Т.к. часто попадаются "плохие" числа и приходится работать с дробями, то написал класс для дробей, перегрузил операторы *, / , + , - . Сделал функции 1, 2 и 3 элементарных преобразований. Также есть алгоритм оброботки нулевых эллемтов на главной диагонале.Для этого написал отдельно класс для матриц. Ввод матрицы осуществляется в самой программе. Программа таже показывает пошагово значения матриц. Приводить весь алгоритм небуду, т.к. он очень большой. Исходники и откомпиленная прога ниже(вместе с Крамером): http://slil.ru/25072002 http://ifolder.ru/4038710 http://rapidshare.com/files/68056699/Gauss_Kramer.rar.html |
Цитата:
Код:
printf("Insert %d element of second matrix:",x); |
Ni0x, ты че, это кроссплатформеный Опен-Сурс от Кузьмича.
А вот это вообще будет висеть у меня на стенке в корридоре Цитата:
Цитата:
Ну и самый прикол Цитата:
|
Я лучше столбиком буду делить...
|
не удивительно, шо у меня ошибки при компеляци))
кстате я метод гаус на 5 сдал!!! имея 3 по математике в школе по жизни :) |
Идея норм, сурс ужасен=\
|
Цитата:
Цитата:
Код:
printf("Insert %d element of second matrix:",x);Код:
cout<<"Insert "<<x<< " element of second matrix:"; |
Большое спасибо за критику. Учёл.
Улучшил Гаусса, добавил обработку нулевых элементов на главной диагонале. Вот, ещё написал метод Крамера с рекурсивным вычислением определителя. Код:
#include <tchar.h>Ссылка на откомпиленную прогу в первом посте. |
Спасибо, мы ща в уневере как раз ща решаем матрицы методом Гауса и Крамера.
|
Да бред все это! Используйте метод Гаусаса.
|
| Время: 06:09 |