Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
1 / 1 / 0
Регистрация: 08.04.2021
Сообщений: 38

Определитель квадратной матрицы n-го порядка.

08.04.2021, 17:16. Показов 2981. Ответов 26

Студворк — интернет-сервис помощи студентам
Программа вычисления определителя квадратной матрицы n-го порядка
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2021, 17:16
Ответы с готовыми решениями:

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

Определитель квадратной матрицы третьего порядка
Написать программу, которая вычисляет определитель квадратной матрицы третьего порядка. P.S. С использованием массивов, наполнение...

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

26
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
11.04.2021, 19:38
Лучший ответ Сообщение было отмечено dedlyd как решение

Решение

Студворк — интернет-сервис помощи студентам
Если код из поста #5, то в Паскаль АВС.net будет так.
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
type mas=array of integer;
     mtr=array[,]of real;
{процедура обмена двух переменных}
procedure swap(var n1, n2: integer);
var
  t: integer;
begin
  t := n1;
  n1 := n2;
  n2 := t
end;
 
{функция генерации следующей перестановки, используется алгоритм Нарайаны}
{возвращает true, если перестановка сгенерирована, и false в противном случае}
{сама перестановка возвращается через формальный параметр q}
function next(var q:mas): boolean;
var
  i, j, m: integer;
begin
  i := high(q);
  repeat dec(i) until (i = -1) or (q[i] < q[i + 1]);
  next := i > -1;
  if i > -1 then
    begin
      j := high(q) + 1;
      repeat dec(j) until q[i] < q[j]; {поиск j}
      swap(q[i], q[j]);
      for m := low(q) to (high(q) - i) div 2 - 1 do swap(q[i + 1 + m], q[high(q) - m])
    end
end;
 
{функция вычисления знака перестановки}
{при нечётном количестве инверсий возвращается -1, в противном случае возвращается 1}
function sign(const q: mas): real;
var
  i, j, k: integer;
begin
  k := 0;
  for i := low(q) to high(q) - 1 do
    for j := i + 1 to high(q) do
      if q[i] > q[j] then inc(k);
  if odd(k) then sign := -1 else sign := 1
end;
 
{основная программа}
var
  a:mtr; {матрица}
  p: mas; {массив для перестановок}
  n: integer; //счётчики, ранг матрицы
  t, z, d: real; //слагаемое, знак перестановки, определитель
 
begin
  //ввод ранга матрицы с проверкой
  repeat
    write('Введите ранг матрицы: ');
    readln(n)
  until n > 0;
  {установка размеров массивов}
  setlength(a, n, n); {установка размера матрицы}
  setlength(p, n); {установка размера массива для перестановок}
  {ввод матрицы}
  writeln('Введите матрицу, ', n, ' строк по ', n, ' чисел (через пробелы):');
  for var i := low(a) to high(a) do
    for var j := low(a) to high(a) do
      read(a[i, j]);
  readln;
  {контрольная печать матрицы}
  writeln('Матрица:');
  for var i := low(a) to high(a) do
    begin
      for var j := low(a) to high(a) do write(a[i, j]:12, ' ');
      writeln
    end;
  {вычисление определителя}
  d := 0; {пока определитель равен 0}
  for var i := low(p) to high(p) do p[i] := i; {начальная перестановка: ряд 0, 1, 2, ..., n-1}
  repeat {цикл по перестановкам}
    z := sign(p); {знак перестановки}
    for var i := low(a) to high(a) do {цикл добавления слагаемого согласно текущей перестановки}
      begin
        t := z; {очередное слагаемое пока равно знаку перестановки}
        for var j := low(p) to high(p) do t *= a[j, p[j]]; {цикл умножения слагаемого на соответствующие элементы}
      end;
    d += t {добавляем слагаемое к определителю}
  until not next(p); {ищем следующую перестановку, в случае неудачи выходим из цикла по перестановкам}
  write('Определитель = ', d);
  readln
end.
0
1 / 1 / 0
Регистрация: 08.04.2021
Сообщений: 38
11.04.2021, 19:41  [ТС]
Сейчас попробую

Добавлено через 1 минуту
Ты просто бог
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
12.04.2021, 03:58
Во всех!
0
Модератор
10434 / 5722 / 3405
Регистрация: 17.08.2012
Сообщений: 17,411
12.04.2021, 11:27
Цитата Сообщение от dedlyd Посмотреть сообщение
Ты просто бог
А я так, сбоку стоял, и ничегошеньки для Вас не сделал. Как я попал в эту тему, вообще непонятно.

dedlyd, в следующий раз, пожалуйста, создавайте тему в том разделе паскаля, на котором Вам нужна программа. Можно и в общем разделе, но при этом указывайте, на каком диалекте паскаля Вам требуется программа.
1
12.04.2021, 11:32

Не по теме:

Cyborg Drone, Ты не просто бог, а бог номер 1.

0
1 / 1 / 0
Регистрация: 08.04.2021
Сообщений: 38
12.04.2021, 18:59  [ТС]
Тебе тоже огромное спасибо ты очень помог
1
Модератор
10434 / 5722 / 3405
Регистрация: 17.08.2012
Сообщений: 17,411
12.04.2021, 21:08
Просто меня удивило другое: я же Вам написал, как переделать программу для Pascal ABC.NET, но Вы почему-то на это внимания не обратили. То, что я написал, устраняет ошибку, возникающую из-за различий в способе установки размеров многомерных массивов в FPC и PABC.NET. Остаются только замечания насчёт объявления переменных цикла не в самом цикле. Но это только замечания, не ошибки. С ними программа вполне работает, пусть и чуть медленнее, чем при объявлении счётчиков в циклах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.04.2021, 21:08
Помогаю со студенческими работами здесь

Отразить элементы квадратной матрицы порядка М относительно горизонтальной оси симметрии матрицы
кто знает. как сделать!!! Отразить элементы квадратной матрицы порядка М относительно горизонтальной оси симметрии матрицы.

Для квадратной матрицы порядка N найти такие k, что k-я строка матрицы совпадает с k-м столбцом
Для квадратной матрицы порядка N найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Размеры массивов задаются именованными...

Заполнение квадратной матрицы порядка n
Помогите написать программу: Даны значения элементов вещественного вектора x1, x2, ..., xn. Заполнить квадратную матрицу порядка n...

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

программа транспонирования квадратной матрицы 3-го порядка
Помогите решить задачу: Составить программу транспонирования квадратной матрицы 3-го порядка с выводом результата на экран в виде...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru