Реализация программы обработки матриц (двумерных массивов) — Delphi(Делфи))

1.Конструирование формы:

При выполнении задания на форме были размещены следующие компоненты:

  • TLabel – используется для создания комментариев. Для этого использовалось свойство компонента Caption, которое имеет строковый тип.
  • TButton – кнопка, при нажатии которой производятся вычисления. Код вычислений прописан в методе onclick, который срабатывает при нажатии кнопки во время исполнения программы. Комментарий на кнопке прописывается в свойстве кнопки Caption.
  • TStringGrid – данный компонент был использован для вывода исходной матрицы и модифицированной матрицы. Для вывода элементов матриц использовалось свойство компонента Cells (ячейка), которое характеризуется индексами размещения в столбце и в строке. Количество строк и столбцов прописываются в свойствах компонента RowCount и ColCount. А для перевода числовых значений в строку – функция IntToStr. Задаём следующие свойства: ColCount – число столбцов; RowCount – число строк; FixedCols = 0 — фиксированное число столбцов; FixedRows = 0 – фиксированное число строк;
  • StringGrid1 – здесь записывается исходная матрица. В свойствах Options установить свойству редактирования go Editing значение true.
  • StringGrid2 – здесь записывается полученная матрица.
  • TGroupBox – компонент, предназначенный для группировки внутри себя других компонентов. Заголовок компонента прописывается в его свойстве Caption.

2.Условие:

Определить наибольшее значение среди элементов, расположенных выше главной диагонали матрицы A(5,6). Напечатать новую матрицу A, в которой все элементы выше главной диагонали заменены нулями, кроме наибольшего элемента. Элементы исходной матрицы выбрать самостоятельно.

3.Форма:

Программирование в среде delphi (ЛАбораторные работы)

4.Программа:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    StringGrid1: TStringGrid;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    GroupBox2: TGroupBox;
    StringGrid2: TStringGrid;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  A: array [1 .. 5, 1 .. 6] of integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  i, j: integer;
begin
  for j := 1 to 6 do
    for i := 1 to 5 do
    begin
      A[i, j] := random(100); // Создание случайного числа
      StringGrid1.Cells[j - 1, i - 1] := IntToStr(A[i, j]);
      // Помещение A[i,j] в ячейку StringRead
    end;

end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i, j: integer;
  Max: integer;
begin
  Max := A[1, 2];
  for i := 1 to 5 do
    for j := i + 1 to 6 do
      if (A[i, j] > Max) then
        Max := A[i, j];
  Label2.Caption := IntToStr(Max);
  for i := 1 to 5 do
    for j := i + 1 to 6 do
      if (A[i, j] < Max) then
        A[i, j] := 0;
  for j := 1 to 6 do
    for i := 1 to 5 do
    begin
      StringGrid2.Cells[j - 1, i - 1] := IntToStr(A[i, j]);
    end;
end;

end.

5.Результат:

Программирование в среде delphi (ЛАбораторные работы)

Leave a Comment

89 − 82 =