Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
ciones
-1 / 6 / 1
Регистрация: 30.09.2010
Сообщений: 152
1

Нахождение определителя

26.09.2011, 22:56. Просмотров 1363. Ответов 1
Метки нет (Все метки)

Какой самый простой способ нахождения определителя методом крамера...учитывая то что я школьник и паскаль знаю не особо хорошо
и можно в скобках объяснить что за действие..а то даже не помню как столбец и строку вычёркивать

Добавлено через 18 минут
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
uses crt;
type
 Tmass=array[1..20] of real;
 Tmatrix=array[1..20] of Tmass;
procedure Per(k,n:integer;var a:Tmatrix;var p:integer);{перестановка строк если главный элемент = 0}
var z:Real;j,i:integer;
begin
z:=abs(a[k,k]);
i:=k;
p:=0;
for j:=k+1 to n do
  begin
   if abs(a[j,k])>z then{выбираем максимальный по модулю в данном столбце ниже}
    begin
     z:=abs(a[j,k]);
     i:=j;
     p:=p+1;{счетчик перестановок, при каждой перестановке меняется знак определителя}
    end;
  end;
if i>k then
for j:=k to n do
  begin
   z:=a[i,j];
   a[i,j]:=a[k,j];
   a[k,j]:=z;
  end;
end;
function Znak(p:integer):integer;{определение знака определителя}
begin
if p mod 2=0 then
Znak:=1 else Znak:=-1;
end;
procedure Opr(n:integer;a:tmatrix;var det:real);{вычисление опаределителя}
var k,i,j,p:integer;r:real;
begin
det:=1.0;
for k:=1 to n do
  begin
   if a[k,k]=0 then Per(k,n,a,p);{перестановка строк}
   det:=znak(p)*det*a[k,k];{вычисление определителя}
   for j:=k+1 to n do {пересчет коэффициентов}
    begin
      r:=a[j,k]/a[k,k];
      for i:=k to n do
       begin
        a[j,i]:=a[j,i]-r*a[k,i];
       end;
    end;
  end;
end;
var a:Tmatrix;{матрица коэффициентов исходная}
    c:array[1..20] of Tmatrix;{вспомогательные матрицы для вычисления корней}
    b,x:Tmass;{свободные члены, корни}
    det,det1:real;{определители}
    n,k,j,i:integer;
begin
clrscr;
write('Порядок системы n=');
readln(n);
writeln('Введите коэффициенты системы:');
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
readln;
writeln('Введите свободные члены:');
for i:=1 to n do
read(b[i]);
readln;
clrscr;
writeln('Расширенная матрица системы:');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:7:2);
  write(b[i]:9:2);
  writeln;
 end;
Opr(n,a,det);{определитель системы исходной}
for i:=1 to n do
 begin
  for k:=1 to n do
   begin
    for j:=1 to n do{создаем вспомогательные матрицы, где i-товый столбец - свободные члены}
    c[i][k,j]:=a[k,j];
    c[i][k,i]:=b[k];
   end;
  Opr(n,c[i],det1);{определитедь вспомогательной матрицы}
  if(det=0)and(det1=0) then
    begin
     writeln('Система не определена!');
     readln;
     exit;
    end;
  if(det=0)and(det1<>0) then
    begin
     writeln('Система не имеет решений!');
     readln;
     exit;
    end;
  x[i]:=det1/det;{корень}
 end;
writeln('Корни сиcтемы:');
for i:=1 to n do
writeln('x',i,'=',x[i]:7:3);
readln
end.
end.
Добавлено через 28 секунд
ВОТ ЭТО МОЖНО УПРОСТИТЬ КАК НИБУДЬ??????????)))))))))))

Добавлено через 5 минут
А что если нет свободных членов???
тупо так:
|1 2 3|
|4 5 6|=
|7 8 9|

как тогда?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2011, 22:56
Ответы с готовыми решениями:

Нахождение определителя матрицы
Нужна прога для расчета определителя матрицы 4 порядка(так же возможен и...

Расчет определителя матрицы
Помогите пожалуйста создать файл-программу для паскаля ( расчет определителя...

вычисление определителя по схеме Гаусса
Здравствуйте.мне нужно написать программу в Паскале для вычисления...

Модуль определителя произвольной квадратной матрицы
unit sur; interface type Tmatr=array of real; var a:Tmatr; ...

Двумерный массив. Вычисление определителя третьего порядка.
Написать программу, которая вычисляет определитель квадратной матрицы третьего...

1
Puporev
Модератор
54693 / 42108 / 29075
Регистрация: 18.05.2008
Сообщений: 99,368
27.09.2011, 14:58 2
Цитата Сообщение от ciones Посмотреть сообщение
А что если нет свободных членов???
А для нахождения определителя матрицы они и не нужны. Они нужны при решении систем уравнений.

Добавлено через 2 минуты
В данном примере определитель вычисляется не методом Крамера, а методом Гаусса вроде..
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2011, 14:58

Вычисление определителя матрицы (помогите исправить ошибку)
program zav9; uses crt; const n=3; var a: array of integer; i,j,d:...

Рекурсивная функция вычисления определителя квадратной матрицы
Написать рекурсивную функцию вычисления определителя квадратной матрицы...

Составить функцию для вычисления определителя третьего порядка
Составить функцию для вычисления определителя третьего порядка: а11 а12 ...


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

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

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