![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
BDS |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Кто-нибудь знает, как написать алгоритм нахождения ранга матрицы?
Если сможете, помогите! ??? |
![]() ![]() |
Gremlin |
![]()
Сообщение
#2
|
Гость ![]() |
Помоему там определенного алгоритма не существует как то надо строки комбинировать а когда останов не знаю вобще ненавижу находить ранг матрицы это мое больное место в алгебре
|
Fire_Rage |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 26 Репутация: ![]() ![]() ![]() |
А что это такое?
-------------------- QUI NON PROFICIT, DEFICIT(Кто не идёт вперёд, идёт назад)
|
BDS |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
Алгоритм нахождения ранга матрицы я нашел по этому адресу:
http://slava.users.otts.ru/work/articles/m...mrang/index.htm, там же располагается фаил: http://slava.users.otts.ru/work/articles/matrix.rar, в котором реализован этот алгоритм, но он написан на C++ :-[ , кто нибудь может из Си в Пас переделать? ??? Если кто может, то помогите пожалуйста! |
BDS |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Репутация: ![]() ![]() ![]() |
А еще нашел модуль для работы с матрицами, там тоже это есть, но не знаю как оттуда вытащить. ???
Это только функция вычисления ранга, а сам модуль 600 с лишним строк и почти 13Кб (в zip.-е ок.3.5Кб), так что если нужно могу или сюда положить, или на e-mail кому-нибудь прислать. Код function Matr.Rg:byte; {------- Вычисление ранга матрицы } var l,j,k,min,rang:byte; sz:extended; tmp:Mp; begin min:=m; new(tmp,Init(n,m)); Move(ar^,tmp^.ar^,n*m*SizeOf(extended)); if n<m then begin min:=n; SetM(tmp,tmp^.T) end; with tmp^ do begin for k:=1 to min do for l:=1 to n do if l<>k then begin if e(k,k)^=0 then continue else sz:=e(l,k)^/e(k,k)^; for j:=1 to m do e(l,j)^:=e(l,j)^-sz*e(k,j)^ end; rang:=0; for l:=1 to min do if e(l,l)^<>0 then inc(rang); end; Dispose(tmp,Done); Rg:=rang end; ![]() |
Леша |
![]()
Сообщение
#6
|
Гость ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 30.07.2025 4:53 |