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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2007, 17:35   #11
pinhead
Пользователь
 
Аватар для pinhead
 
Регистрация: 08.12.2006
Сообщений: 36
Радость Модуль modul

Код:
{$M 65520, 0, 65520}
{$N+}
unit modul;
Interface

 Const
    MaxLong=10;
  Type
    Matrix=array[1..MaxLong,1..MaxLong] of extended;
    Vector=array[1..MaxLong] of extended;

procedure MultiMatrChislo( N:byte; A: matrix;Chiclo : extended; var C:matrix);
procedure MultiMatrVect( N:byte; A: matrix;B:vector; var C:vector);
procedure MultiMatr( N:byte; A,B: matrix; var C:matrix);
procedure EMatr(N:byte; var E:Matrix);
procedure SumMatr( N:byte; A,B: Matrix; var C:Matrix);
procedure SubstractMatr( N:byte; A,B: Matrix; var C:Matrix);
function  NormaMatrMax(n:byte; A:Matrix): extended;
function  NormaMatrix(n:byte; A:Matrix): extended;
function  NormaVector(n:byte; A:vector): extended;
procedure SubstractVect( N:byte; A,B:vector; var C:vector);
procedure transponir(n:byte;a_matr : matrix;var a_tr: matrix);

{}
{ ô¼¡«ªÑ¡¿Ñ ¼áΓα¿µδ ¡á τ¿ß½« }
Implementation

 procedure MultiMatrChislo( N:byte; A: matrix;Chiclo:extended; var C:matrix);
  var
     i,j:byte;
  begin
     for i:=1 to n do
        for j:=1 to n do
          c[i,j]:=a[i,j]*Chiclo;
  end;
{}
{ ô¼¡«ªÑ¡¿Ñ ¼áΓα¿µδ ¡á óÑ¬Γ«α }
 procedure MultiMatrVect( N:byte; A: matrix;B:vector; var C:vector);
  var
     i,j:byte;
  begin
     for i:=1 to n do
        begin
           c[i]:=0;
           for j:=1 to n do
              c[i]:=c[i]+a[i,j]*b[j];
        end;
  end;
{}
{ Æαá¡ß»«¡¿α«óá¡¿Ñ ¼áΓα¿µδ }
 procedure transponir(n:byte; a_matr : matrix;var a_tr: matrix);
  var
     i,j : byte;
  begin
     for i:=1 to n do
        for j:=1 to n do
           a_tr[i,j]:=a_matr[j,i];
  end;

{}
{ ô¼¡«ªÑ¡¿Ñ ¼áΓα¿µ }
 procedure MultiMatr( N:byte; A,B: matrix; var C:matrix);
  var
     i,j,k:byte;
  begin
     FillChar(C,sizeof(C),0);
     for i:=1 to n do
        for j:=1 to n do
           for k:=1 to n do
              C[i,j]:=C[i,j]+ A[i,k]*B[k,j];
  end;
{}
{ ß½«ªÑ¡¿Ñ ¼áΓα¿µ Ç ¿ é (NxN) αѺπ½∞ΓáΓ - ¼áΓα¿µá æ }
 procedure SumMatr( N:byte; A,B: Matrix; var C:Matrix);
  var
     i,j,k:byte;
  begin
     for i:=1 to n do
        for j:=1 to n do
           C[i,j]:=A[i,j] + B[i,j];
  end;
{}
{óδτ¿Γá¡¿Ñ ¼áΓα¿µ Ç ¿ é (NxN) αѺπ½∞ΓáΓ - ¼áΓα¿µá æ }
 procedure SubstractMatr( N:byte; A,B: Matrix; var C:Matrix);
  var
     i,j:byte;
  begin
     for i:=1 to n do
        for j:=1 to n do
           C[i,j]:=A[i,j] - B[i,j];
  end;
{}
{ éδτ¿Γá¡¿Ñ óÑ¬Γ«α«ó }
 procedure SubstractVect( N:byte; A,B:vector; var C:vector);
  var
     i:byte;
  begin
     for i:=1 to n do
        C[i]:=A[i] - B[i];
  end;
{}
{c«ßΓáó½Ñ¡¿Ñ Ññ¿¡¿τ¡«⌐ ¼áΓα¿µδ αẼÑαá n}
 procedure EMatr(N:byte; var E:Matrix);
  var
     i:byte;
  begin
     fillchar(E, sizeof(E),0);
     for i:=1 to n do
        E[i,i]:=1;
  end;
{}
{ ì«α¼á óÑ¬Γ«αá (ßΣÑα¿τÑ߬á∩) }
 function  NormaVector(n:byte; A:vector): extended;
  var
     temp:extended;
     i:byte;
  begin
     temp:=0;
     for i:=1 to n do
        temp:=temp+A[i]*A[i];
     NormaVector:=sqrt(temp);
  end;
{}
{¡áσ«ªñÑ¡¿Ñ ¡«α¼δ ¼áΓα¿µδ Ç αẼÑαá NN }
 function  NormaMatrix(n:byte; A:Matrix): extended;
  var temp:extended;
      i,j:byte;
  begin
      temp:=0;
      for i:=1 to n do
         for j:=1 to n do
            temp:=temp+A[i,j]*A[i,j];
      NormaMatrix:=sqrt(temp);
  end;
{}
{ ì«α¼á ¼áΓα¿µδ (æ-¼ÑΓਪá) }
 function  NormaMatrMax(n:byte; A:Matrix): extended;
  var
     max,temp:extended;
     i,j:byte;
  begin
     max:=0;
     for i:=1 to n do
        begin
           temp:=0;
           for j:=1 to n do
           temp:=temp+abs(A[i,j]);
           if temp>max then
           max:=temp;
        end;
     NormaMatrMax:=max;
  end;
BEGIN
END.
Знание этого – Мудрость.
Умение этим пользоваться – Искусство.

Последний раз редактировалось pinhead; 08.01.2007 в 17:38.
pinhead вне форума Ответить с цитированием
Старый 08.01.2007, 18:01   #12
pinhead
Пользователь
 
Аватар для pinhead
 
Регистрация: 08.12.2006
Сообщений: 36
Восклицание

Не забывай менять максимальную размерность матрици!!!(в задании 3<n<=21).
Можешь посмотреть исходники!!!
Вложения
Тип файла: zip Обращение.zip (2.8 Кб, 61 просмотров)
Знание этого – Мудрость.
Умение этим пользоваться – Искусство.
pinhead вне форума Ответить с цитированием
Старый 27.05.2009, 02:17   #13
BO4A
 
Аватар для BO4A
 
Регистрация: 26.05.2009
Сообщений: 9
По умолчанию

люди помогите мне с Паскалем плиз а то я непойму его а завтра курсач здавать
BO4A вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратная польская нотация Sexy Fox Помощь студентам 9 22.09.2011 14:57
Delfi7 обратная функция Char mentholl Помощь студентам 5 03.06.2008 10:25
CreateFile - считывание дискеты в файл и обратная запись на нее... kalexi Win Api 1 01.10.2007 19:56
Обратная польская нотация Sexy Fox Помощь студентам 2 22.06.2007 13:27
Обратная связь Oliany PHP 1 06.05.2007 23:40