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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2009, 19:08   #1
ekzobyte
Пользователь
 
Аватар для ekzobyte
 
Регистрация: 03.02.2009
Сообщений: 30
По умолчанию Действия над матрицами. (Delphi)

Задача - программа, выполняющая разные действия с матрицами.

Функция для перемножения матриц, mm1 и nn1 - размеры первой матрицы, mm2 и nn2 - второй. Считает, но неправильно. Помогите найти ошибку.

Код:
function mult_matr(aa, ab : matr) : matr;
 var
   i, j, k : integer;
begin
 SetLength(Result, mm1, nn2);
   for i := 0 to mm1 - 1 do
   for j := 0 to nn2 - 1  do
     begin
        Result[i,j] :=0;
         for k := 0 to nn1 - 1 do
           Result[i,j] := Result[i,j] + aa[i,k] * ab[k,j];
     end;
end;

Функция для нахождения обратной матрицы. Этот код мне подсказали, прошу, если можете, объясните его (Функция detr - находит определитель, minor - минор)

Код:
function obrt_matr(aa : matr) : matr;
 var
   i, j, z : integer;
   x : real;
begin
 x := detr(aa);
 if x = 0
  then begin
        ShowMessage('Матрица не имеет обратной');
        exit;
       end;
 SetLength(Result, Length (aa),Length(aa));
 for i := 0 to length(aa)-1 do
  begin
    case i of
     0 : z := 1;
     else if odd(i)
       then z := -1
       else z := 1;
    end;
    for j := 0 to length (aa)-1 do
      begin
       Result[i,j] := z * detr(minor(aa, i+1 , j+1 )) / x;
       z := -z
      end;
  end;
end;

Последний раз редактировалось ekzobyte; 20.05.2009 в 22:11.
ekzobyte вне форума Ответить с цитированием
Старый 20.05.2009, 20:52   #2
ekzobyte
Пользователь
 
Аватар для ekzobyte
 
Регистрация: 03.02.2009
Сообщений: 30
По умолчанию

ну подскажите что нибудь
ekzobyte вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Арифметические действия над матрицами и транспонирование Axel1981 Помощь студентам 14 12.06.2010 20:20
Delphi 7. Действия с матрицами. прога маленькая, но не понятно в чём баг. gonf Помощь студентам 3 24.04.2009 17:34
Работа с матрицами (Delphi) Вета Помощь студентам 0 15.04.2009 15:37
Работа с матрицами (delphi) Майструк Татьяна Помощь студентам 3 07.04.2009 20:33