![]() |
![]() ![]() ![]() ![]() |
|
Как заменить строку в матрицеDelphi , Синтаксис , МассивыАвтор: http://www.lmc-mediaagentur.de/dpool
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.
Программа Matrices: {$APPTYPE CONSOLE} uses SysUtils; type TMatrixRow = array of Double; {предпочтительно использовать 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; {или что-то другое} 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); {печатает значение double в формате 10.##} Writeln; end; Writeln; end; var Matrix: TMatrix; Row, Column: Integer; begin Randomize; {инициализирует генератор случайных чисел} SetLength(Matrix, 4, 4); {устанавливает размер матрицы в 4x4} 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. В статье описано алгоритмическое решение задачи замены строки в матрице с помощью процедуры MatrixExchangeRows на языке программирования Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||