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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2013, 22:27   #1
Rachnog
Новичок
Джуниор
 
Регистрация: 07.05.2013
Сообщений: 3
Вопрос Приведение матрицы к треугольному виду

Здравствуйте!
Пишу курсовую на асме, тема "Решение системы линейных уравнений методом Крамера".

Нашел исходник на плюсах и решил его переделать на асм. Вот ссылка - http://algorithmlib.org/kramer_slay.

Сначала попробовал тупо переделать этот кусочек кода поиска детерминанта под асм, но, честно говоря, конкретно запутался.

Я с матрицами вообще новичек, попробовал только обойти матрицу и поиграть с диагональными элементами:

Код:
N equ 3
M equ 3
mov ax,1
mov si, offset mas
mov cx, N
@@1:
      push cx
      mov bx, 0
      mov cx, M
      @@2:
	   mov [si+bx],ax
              add bx, 2
              loop @@2
      add si, M*2
      pop cx
      loop @@1
	  
		  mov bx,0
		  mov ax,0
	  mov si, offset mas
	  mov [si+0],ax
	  mov [si+2*(N+1)],ax
	  mov [si+2*(2*(N+1))],ax
Никак не могу придумать, как на ассемблере реализовать такую работу с матрицами, чтобы ее можно было привести к треугольному виду.

Я, конечно, буду рад, если кто-то напишет прямо готовое решение, но на самом деле хочу советов от профи, как такое дело лучше всего реализовать) может, вообще надо детерминант считать не методом Крамера?

Зараннее спасибо за любую помощь

Последний раз редактировалось Rachnog; 08.05.2013 в 12:53.
Rachnog вне форума Ответить с цитированием
Старый 08.05.2013, 12:52   #2
Rachnog
Новичок
Джуниор
 
Регистрация: 07.05.2013
Сообщений: 3
По умолчанию

Ребята, это действительно настолько нелегко?) даже идей никаких нет?
Rachnog вне форума Ответить с цитированием
Старый 08.05.2013, 13:13   #3
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

Rachnog,
идеи есть, в учебниках высшей алгебры, на худой конец в викепедии, я бы начал с матриц 2х2, затем перешел на 3х3, но думаю ключевые слова здесь
Цитата:
Я, конечно, буду рад, если кто-то напишет прямо готовое решение
а остальное просто отговорки, чтобы прикрыть лень
Mikl___ вне форума Ответить с цитированием
Старый 08.05.2013, 14:14   #4
Rachnog
Новичок
Джуниор
 
Регистрация: 07.05.2013
Сообщений: 3
По умолчанию

Не в лени дело.
Я знаю, какой метод использовать и даже алгоритм
(http://iproc.ru/parallel-programming/lection-4/)

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

P.S. Я знаю про формулу доступа к элементу массива через базу, размер элемента и i,j, но у меня не получается реализовать ее в цикле.

Именно поэтому я прошу помощи.
Rachnog вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Привести систему к треугольному виду MrDelni Помощь студентам 1 25.03.2013 17:05
Свести матрицу к треугольному виду Pein95 Общие вопросы C/C++ 2 30.12.2012 00:19
Задача: привести систему к треугольному виду limaxY Помощь студентам 1 07.06.2011 08:50
Приведение матрицы к диагональному виду Смородинка Помощь студентам 1 01.10.2010 16:24
Приведение задачи к каноническому виду feniks65 Паскаль, Turbo Pascal, PascalABC.NET 2 26.12.2008 22:53