Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

340

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Советник

267

Россия, Санкт-Петербург


ID: 400669

epimkin

Профессионал

254


ID: 137394

Megaloman

Мастер-Эксперт

122

Беларусь, Гомель


ID: 405239

al4293189

1-й класс

86


ID: 401888

puporev

Профессор

69

Россия, Пермский край


ID: 325460

CradleA

Мастер-Эксперт

65

Беларусь, Минск


8.9.8

01.08.2021

JS: 2.9.16
CSS: 4.5.14
jQuery: 3.6.0
DataForLocalStorage: 2021-08-03 10:16:01-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 200839

Раздел: Pascal / Delphi / Lazarus
Автор вопроса: KSIW2S (Посетитель)
Дата: 17.05.2021, 11:54 Консультация закрыта
Поступило ответов: 1

Здравствуйте, уважаемые эксперты! Прошу вас помочь с написанием кода для программы: Для матрицы из 4 столбцов и 4 строк найти минимальный элемент среди
элементов побочной диагонали и его индексы. Тема задания «Обработка двумерных массивов в системе Lazarus»

Дорого времени суток!

Смотрите код:
Код [Pascal]
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Grids;

type

  { TForm1 }

  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    procedure FormCreate(Sender: TObject);
  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
var
  i,j,ij,ii:integer;
begin
  randomize;
  for i:=0 to Form1.StringGrid1.ColCount-1 do
    for j:=0 to Form1.StringGrid1.RowCount-1 do
      Form1.StringGrid1.Cells[i,j]:=IntToStr(random(99));
  ii:=0;
  ij:=Form1.StringGrid1.RowCount-1;
  for i:=0 to Form1.StringGrid1.ColCount-1 do
    if StrToInt(Form1.StringGrid1.Cells[i,Form1.StringGrid1.RowCount-i-1])<
       StrToInt(Form1.StringGrid1.Cells[ii,ij]) then
         begin
           ii:=i;
           ij:=Form1.StringGrid1.RowCount-i-1;
         end;
  Form1.Caption:='min:='+Form1.StringGrid1.Cells[ii,ij]+
                 ' col:='+IntToStr(ii)+
                 ' row:='+InttoStr(ij);
end;
end.


Создаете форму как на рисунке:


Разные запуски дают разные результаты.

Удачи!

Зенченко Константин Николаевич

Старший модератор
18.05.2021, 16:46
Мини-форум консультации # 200839

Нет сообщений в мини-форуме

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 88

puporev

Профессор

Рейтинг: 69

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0

lamed

Академик

Рейтинг: 0