IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Метод Крамера, программка
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 33
Пол: Мужской

Репутация: -  0  +


Есть ли у кого-нибудь реализованная прога на Паскале или С++
По вычислению матриц методом крамера?
(В поиске ничего не нашел)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


В ФАКе лежит материал по нахождению детермината матрицы, это все что нужно, для того, что бы самому сделать метод крамера...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Demm, ну если просто (без ввода данных, и всяких наворотов, только сам алгоритм) - тогда вот так...

Реализация перенесена сюда: FAQ: Решение систем линейных уравнений
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 33
Пол: Мужской

Репутация: -  0  +


Большое спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 33
Пол: Мужской

Репутация: -  0  +


Эта прога volvo ( я матрицу переправил на другую)
Исходный код

Const
n = 4;

Type
Equation =
Array[1 .. n, 1 .. Succ(n)] Of Double;
matrix =
Array[1 .. n, 1 .. n] Of Double;

Const
a: Equation =
(( 2, 1, -5, 1),
(1, -3, 0, -6),
( 0, 2,-1, 2),
(1,4,-7,6));


Procedure GetMatrix(wout: Integer;
Var m: matrix);
Var i, j: Integer;
Begin
For i := 1 To n Do
For j := 1 To n Do
If j <> wout Then m[i, j] := a[i, j]
Else m[i, j] := a[i, Succ(n)]
End;

Function Det(a: matrix; n: integer): Double;
Var
i, j, k: Integer; d: Double;
Const
Eps = 10E-6;
Begin
For i := 1 To Pred(n) Do
Begin
If Abs(a[i, i]) < Eps Then
Begin
Det := 0.0; Exit
End;

For j := Succ(i) To n Do
Begin
d := a[j, i] / a[i, i];
For k := i To n Do
a[j, k] := a[j, k] - d * a[i, k];
End;
End;
d := 1.0;
For i := 1 To n Do
d := d * a[i, i];
Det := d
End;

Var
i: Integer;
mx: matrix;
Determ: Double;
begin
GetMatrix(Succ(n), mx);
Determ := Det(mx, n);

For i := 1 To n Do
Begin
GetMatrix(i, mx);
WriteLn( 'x(', i, ') = ', (Det(mx, n) / Determ):7:4 )
End
end.

Она работает для матрицы 3 порядка, а почему она не работает для 4 порядка?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата(Demm @ 12.03.05 17:44)
Она работает для матрицы 3 порядка, а почему она не работает для 4 порядка?

Почему же не работает? Она и с матрицей более высоких порядков работает... Просто задавать матрицу нужно правильно, ведь написано:
Код
Type
Equation =
  Array[1 .. n, 1 .. Succ(n)] Of Double; (* Succ здесь что, для красоты? *)
matrix =
  Array[1 .. n, 1 .. n] Of Double;
Const
a: Equation = ...

Значит, матрица A должна быть не 4х4, а 4х5 ... А программа, приведенная в предыдущем посте даже не скомпилируется...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 33
Пол: Мужской

Репутация: -  0  +


Да, точно забыл свободные члены вписать :p2:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.05.2024 17:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name