специально удалил все комментарии, чтобы анализ сами сделали, всё равно будут спрашивать что откуда и куда
Код:
const
l = 200;
n = 5;
m = 40;
var
Form2: TForm2;
okz: array [0 .. 4, 0 .. 39] of integer;
i, j, h: integer;
int: array of integer;
tmizp, tmazp, tvzMIN, tvzMAX, ints: integer;
x, k: integer;
tvps, tsz, kza: extended;
ogp: integer;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Randomize;
for j := 0 to 39 do
begin
for i := 0 to 4 do
begin
okz[i, j] := 5 + trunc(random(90));
StringGrid1.RowCount := m + 1;
StringGrid1.ColCount := n + 1;
end;
end;
i := 0;
for j := 1 to StringGrid1.RowCount do
StringGrid1.Cells[i, j] := IntToStr(j);
j := 0;
for i := 1 to StringGrid1.ColCount do
StringGrid1.Cells[i, j] := IntToStr(i);
for j := 1 to m do
begin
for i := 1 to n do
begin
StringGrid1.Cells[i, j] := IntToStr(okz[i - 1, j - 1]);
end;
end;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
tmizp := 0;
tmazp := 0;
h := 0;
Randomize;
for j := 0 to 39 do
begin
for i := 0 to 4 do
begin
okz[i, j] := 5 + trunc(random(90));
h := h + 1;
StringGrid1.RowCount := m + 1;
StringGrid1.ColCount := n + 1;
end
end;
i := 0;
for j := 1 to StringGrid1.RowCount do
StringGrid1.Cells[i, j] := IntToStr(j);
h := h + 1;
j := 0;
for i := 1 to StringGrid1.ColCount do
StringGrid1.Cells[i, j] := IntToStr(i);
h := h + 1;
for j := 1 to m do
begin
for i := 1 to n do
begin
StringGrid1.Cells[i, j] := IntToStr(okz[i - 1, j - 1]);
h := h + 1;
end;
end;
for j := 0 to 39 do
begin
for i := 0 to 4 do
begin
if okz[i, j] <= 10 then
tmizp := tmizp + okz[i, j];
h := h + 1;
end;
end;
Edit1.Text := IntToStr(tmizp);
for j := 0 to 39 do
begin
for i := 0 to 4 do
begin
if okz[i, j] >= 90 then
tmazp := tmazp + okz[i, j];
h := h + 1;
end;
end;
Edit2.Text := IntToStr(tmazp);
Edit3.Text := IntToStr(tmazp - tmizp);
ints := 0;
tvzMIN := 0;
tvzMAX := 0;
SetLength(int, x);
for j := 0 to 39 do
begin
for i := 0 to 4 do
begin
ints := 30 + trunc(random(60));
if okz[i, j] <= 10 then
tvzMIN := tvzMIN + ints
else
x := okz[i, j] div 10;
end;
end;
for k := 0 to x - 1 do
begin
ints := 30 + trunc(random(60));
tvzMAX := tvzMAX + ints + (okz[i, j] mod 10);
h := h + 1;
end;
tvps := 0;
tsz := tvzMIN + tvzMAX;
for j := 0 to 39 do
begin
for i := 0 to 4 do
begin
tvps := tvps + okz[i, j];
h := h + 1;
end;
end;
kza := (tvps / tsz);
Edit4.Text := FloatToStr(kza);
ogp := m - 1;
Edit5.Text := IntToStr(ogp);
end;