Как заменить строку в матрице

Previous  Top  Next

    
 

 

 

Code:

program Matrices;

 

{$APPTYPE CONSOLE}

 

uses

SysUtils;

 

type

TMatrixRow = Array of Double;  {preferrable to Real}

TMatrix = Array of TMatrixRow;

 

 

procedure MatrixExchangeRows(M: TMatrix; First, Second: Integer);

var

Help: TMatrixRow;

begin

if (First < 0) or (First > High(M)) or (Second < 0) or (Second > High(M)) then

   Exit;  {or whatever you like.}

{Only pointers are exchanged!}

Help := M[First];

M[First] := M[Second];

M[Second] := Help;

end;

 

 

procedure MatrixWrite(M: TMatrix);

var

Row, Col: Integer;

begin

for Row := 0 to High(M) do

begin

   for Col := 0 to High(M[Row]) do

     Write(M[Row, Col]:10:2);

   Writeln;

end;

Writeln;

end;

 

var

Matrix: TMatrix;

Row, Column: Integer;

 

begin

Randomize;

SetLength(Matrix, 4, 4);

for Row := 0 to High(Matrix) do

   for Column := 0 to High(Matrix[Row]) do

     Matrix[Row, Column] := Random * 1000.0;

MatrixWrite(Matrix);

MatrixExchangeRows(Matrix, 1, 2);

MatrixWrite(Matrix);

Readln;

end.

 

 

©Drkb::03958

Взято из http://www.lmc-mediaagentur.de/dpool