Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
nanotec
0 / 0 / 0
Регистрация: 06.08.2010
Сообщений: 24
1

Рекурсия: вычислить определитель матрицы, пользуясь формулой разложения по строке

27.08.2010, 16:08. Просмотров 1039. Ответов 1
Метки нет (Все метки)

Задача:
Вычислить определитель заданной матрицы, пользуясь формулой разложения по строке.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2010, 16:08
Ответы с готовыми решениями:

Сформировать из матрицы массив, пользуясь формулой
Написать процедуру, которая для заданного массива X из n элементов формирует...

Вычислить определитель матрицы 3-его порядка через разложение по любой строке или столбцу.
решите пожалуйста Вычислить определитель матрицы 3-его порядка через...

Вычислить n-ый член последовательности, заданной рекуррентной формулой (рекурсия/итерация)
нужно было написать прогу с рекурсией и без, считающую n-ый член...

Вычислить определитель матрицы
Как вычислить определитель для матрицы a, где i изменяется от 0 до n-1, j от 0...

Пользуясь рекуррентной формулой, найти сумму бесконечного ряда
Пользуясь рекуррентной формулой, найти сумму S бесконечного ряда с точностью до...

1
Puporev
Модератор
54717 / 42123 / 29086
Регистрация: 18.05.2008
Сообщений: 99,430
27.08.2010, 17:37 2
Лучший ответ Сообщение было отмечено nanotec как решение

Решение

http://vts.math.kubsu.ru/pascal/det.htm

Добавлено через 41 минуту
Вот немного другая рабочая программа.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
uses crt;
Const max_n = 4;
Type matrix = Array[1 .. max_n, 1 .. max_n] Of real;
Const a: matrix =((2,  9,  9,  4),
                  (2, -3, 12,  8),
                  (4,  8,  3, -5),
                  (1,  2,  6,  4));
 
function minusOne(n: integer): integer;
  begin
    minusOne := (1 - 2*Byte(Odd(n)));
  end;
 
function get_addr(i, j: integer;const n: integer): integer;
  begin
    get_addr := pred(i) * n + j
  end;
 
Function det(Var p; Const n: integer): real;
  Type
    matrix = Array[1 .. max_n * max_n] Of real;
  Var
    my_p: matrix Absolute p;
    pp: ^matrix;
    s: real;
    i, j, curr: integer;
  Begin
    s := 0.0;
    If n = 2 Then
      Begin
        det := my_p[1]*my_p[4] - my_p[2]*my_p[3]; exit
      End;
 
    For i := 1 To n Do
      Begin
        GetMem(pp, Sqr(Pred(n)) * SizeOf(real));
        curr := 1;
        For j := 1 To n Do
          If j <> i Then
            Begin
              move(my_p[get_addr(j, 2, n)], pp^[get_addr(curr, 1, Pred(n))],
                   pred(n) * SizeOf(real));
              inc(curr);
            End;
 
        s := s + minusOne(Succ(i)) * my_p[get_addr(i, 1, n)] *
                 det(pp^, Pred(n));
        FreeMem(pp, Sqr(Pred(n)) * SizeOf(real))
      End;
    det := s
  End;
var i,j:byte;
begin
clrscr;
for i:=1 to max_n do
 begin
  for j:=1 to max_n do
  write(a[i,j]:4:0);
  writeln;
 end;
writeln;
WriteLn('Det=', det(a, 4):0:0 );
readln
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2010, 17:37

Вычисление определителя матрицы 4х4 методом разложения по строке
Доброго времени суток. Помогите пожалуйста, нужно решить вот такую задачу с...

Программы паскаль. пользуясь формулой герона рассчитать площадь пятиугольника
1) Пользуясь формулой герона http://www.webmath.ru/web/images/web_pic59.gif...

Рекурсия: вывод и нахождения суммы первых N членов арифметической прогрессии, заданной формулой
2. Создать процедуру для вывода и нахождения суммы первых N членов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru