Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 18:03   #1
Winterfox
 
Регистрация: 04.12.2011
Сообщений: 9
По умолчанию Рекурсивное вычисление определителя матрицы.

Как исправить программу, чтобы она считала определитель разложением по заданному столбцу, а не по 1-му(как здесь)?
PHP код:
const n=7; { размерность матрицы}
type matr=array[1..n,1..nof longint;
var 
a,b:matr;
    
i,j,dt:longint;
procedure PrintMatr(m:matr;n:integer);
{
вывод матрицы на экран }
var 
i,j:integer;
  
begin
  
for i:=1 to n do
    
begin
    
for j:=1 to n do
      
write(m[i,j]:3);
    
writeln;
    
end;
  
end;
procedure GetMatr(a:matr; var b:matrm,i,j:integer);
Вычёркивание из матрицы строки и столбца }
var 
ki,kj,di,dj:integer;
  
begin
  di
:=0;
  for 
ki:=1 to m-do
    
begin
    
if (ki=ithen di:=1;
    
dj:=0;
    for 
kj:=1 to m-do
      
begin
      
if (kj=jthen dj:=1;
      
b[ki,kj]:=a[ki+di,kj+dj];
      
end;
    
end;
  
end;
Function 
Determinant(a:matr;n:integer):longint;
Вычисление определителя}
var 
i,j,d,k:longint;
    
b:matr;
  
begin
  d
:=0k:=1;
  if (
n<1then
    begin
    writeln
('Determinant: Cann''t run. N=',n); halt;
    
end;
  if (
n=1)
    
then d:=a[1,1]
  else if (
n=2)
    
then d:=a[1,1]*a[2,2]-a[2,1]*a[1,2]
  else { 
n>}
    for 
i:=1 to n do
      
begin
      GetMatr
(a,b,n,i,1);
      
d:=d+k*a[i,1]*Determinant(b,n-1);
      
k:=-k;
      
end;
  
Determinant:=d;
  
end;
begin
Заполнение матрицы случайными числами}
randomize;
for 
i:=1 to n do
for 
j:=1 to n do
  
a[i,j]:=random(5);
Печать матрицы }
PrintMatr(a,n);
Вычисление определителя }
dt:=Determinant(a,n);
writeln('=========');
writeln('Determinant=',dt);
end
Winterfox вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление определителя матрицы на C# H3mania Общие вопросы C/C++ 2 07.12.2010 17:10
Вычисление определителя матрицы Fantom.as Общие вопросы Delphi 2 11.10.2010 19:43
обращение матрицы и вычисление определителя по схеме гаусса dacsa Паскаль, Turbo Pascal, PascalABC.NET 2 21.07.2010 21:50
Вычисление определителя матрицы StudentofSUSU Microsoft Office Excel 2 07.01.2010 21:05
Вычисление определителя матрицы Ирёнок Помощь студентам 6 21.02.2009 01:10