ВН
Вероника Никонова

помогите, пожалуйста!! ! Delphi

Задана матрица размером NxM. Упорядочить ее строки по неубыванию суммы элементов в строках.

НП
Наталья Пашко

unit N91866057;

interface

uses
Windows, SysUtils, Forms, Classes, Controls, StdCtrls, Grids;

type
TArray = array of array of integer;

TForm1 = class(TForm)
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label4: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure SetStringGrid(Sender: TObject; a: TArray);
function Sum(a: TArray; n: integer): integer;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.Sum(a: TArray; n: integer): integer;
var i: integer;
begin
Result := 0;
for i := 0 to High(a[0]) do
inc(Result, a[n, i]);
end;

procedure TForm1.SetStringGrid(Sender: TObject; a: TArray);
var
k, x, n, m: integer;
begin
with (Sender as TStringGrid) do
begin
n := length(a);
m := length(a[0]);
RowCount := n;
ColCount := m;
x := 200 div n;
Height := x * n + 10;
for k := 0 to n - 1 do
RowHeights[k] := x;
x := 425 div m;
Width := x * m + 10;
for k := 0 to m - 1 do
ColWidths[k] := x;
for k := 0 to n - 1 do
for x := 0 to m - 1 do
Cells[x, k] := IntToStr(a[k, x])
end
end;

procedure TForm1.Button1Click(Sender: TObject);
var
N, M, i, j, k, t: integer;
A: TArray;
begin
if TryStrToInt(Edit1.Text, N) and TryStrToInt(Edit2.Text, M) then
begin
setlength(A, N, M);
for i := 0 to N - 1 do
for j := 0 to M - 1 do
A[i, j] := random(101) - 50;
SetStringGrid(StringGrid1, A);
for i := 0 to N - 2 do
begin
k := i;
for j := i + 1 to N - 1 do
if Sum(A, j) < Sum(A, k) then
k := j;
if k <> i then
for j := 0 to M - 1 do
begin
t := A[i, j];
A[i, j] := A[k, j];
A[k, j] := t
end
end;
SetStringGrid(StringGrid2, A);
end
else
begin
MessageBox(0,'Введите корректные размеры матрицы',
'Ошибка', MB_ICONERROR or MB_APPLMODAL or MB_OK);
Edit1.SetFocus
end
end;

initialization
randomize;

end.

Роман
Роман

а зачем это тебе?

Виктор
Виктор

Могу сделать, пишите в личку

Похожие вопросы
Помогите пожалуйста с delphi
Помогите пожалуйста с запросами в Delphi!!!
Помогите пожалуйста, программирование в delphi.
Помогите, пожалуйста, с программированием в Delphi
Помогите пожалуйста с программой на Delphi
Delphi программисты помогите, пожалуйста=>
помогите пожалуйста из Delphi.
Помогите пожалуйста с DELPHI!!!
Помогите с delphi пожалуйста
Delphi помогите пожалуйста!