Как грамотно сформировать матрицу в Delphi?

В Delphi матрицу удобно формировать с помощью динамических массивов или классов.

1. Динамический массив:

var
  Matrix: array of array of Integer;
  i, j: Integer;
begin
  SetLength(Matrix, 3, 3); // 3x3 матрица
  for i := 0 to 2 do
    for j := 0 to 2 do
      Matrix[i, j] := i + j; // Заполнение матрицы
end;

2. Класс для матрицы:

type
  TMatrix = class
  private
    FMatrix: array of array of Integer;
    FRows, FColumns: Integer;
  public
    constructor Create(const Rows, Columns: Integer);
    procedure SetElement(const Row, Column: Integer; Value: Integer);
    function GetElement(const Row, Column: Integer): Integer;
    property Matrix[Row, Column: Integer]: Integer read GetElement write SetElement;
  end;

constructor TMatrix.Create(const Rows, Columns: Integer);
begin
  FRows := Rows;
  FColumns := Columns;
  SetLength(FMatrix, Rows);
  for var i := 0 to Rows - 1 do
    SetLength(FMatrix[i], Columns);
end;

procedure TMatrix.SetElement(const Row, Column: Integer; Value: Integer);
begin
  FMatrix[Row][Column] := Value;
end;

function TMatrix.GetElement(const Row, Column: Integer): Integer;
begin
  Result := FMatrix[Row][Column];
end;

Пример использования:

var
  Matrix: TMatrix;
begin
  Matrix := TMatrix.Create(3, 3);
  Matrix[1, 1] := 10; // Запись элемента
  ShowMessage(IntToStr(Matrix[1, 1])); // Чтение элемента
end;

Выбирайте подход, исходя из требований задачи и удобства использования.

Категории вопроса

Вопрос пока не имеет категорий.

Войти и добавить категории

Похожие вопросы

Что такое Answeropedia?

Answeropedia — это как Википедия, только для вопросов и ответов. Пользователи могут задавать вопросы, отвечать на них и дополнять чужие ответы.

Присоединиться
О вопросе
  • 0 авторов
  • Обновлен 2025-08-28 07:56:00