
- •Лабораторная работа № 3: Ввод и обработка массивов
- •Цель работы
- •Задачи работы
- •Описание работы
- •Листинг 5. Текст файла проекта Lab3.Dpr
- •Листинг 6. Текст главного модуля MainUnit.Pas
- •Листинг 7. Текст вспомогательного модуля ListInput.Pas.
- •Листинг 8. Текст вспомогательного модуля GridInput.Pas.
- •Лабораторная работа № 5. «использование компонента stringgrid для представления двумерных массивов».
- •1 Задача
- •2 Задача
1 Задача
procedure TForm1.Button1Click(Sender: TObject);
var
i, j, n, m, min, max, i_min, j_max, sum : integer;
a : array [0..50, 0..50] of integer;
begin
n := StrToInt(Edit1.Text);
m := StrToInt(Edit2.Text);
min := 999999;
max := 0;
Memo1.Lines.Clear;
i_min := 0;
j_max := 0;
for i := 0 to n - 1 do
begin
sum := 0;
for j := 0 to m - 1 do
begin
a[i,j] := Random(35);
sum := sum + a[i,j];
if sum < min then
begin
min := sum;
i_min := i;
end;
StringGrid1.Cells[i,j]:= IntToStr(a[i,j]);
end;
end;
Memo1.Lines.Add('Столбец min: ' + IntToStr(i_min +1));
for j := 0 to m - 1 do
begin
sum := 0;
for i := 0 to n - 1 do
begin
sum := sum + a[i,j];
if sum > max then
begin
max := sum;
j_max := j;
end;
end;
end;
Memo1.Lines.Add('Строка max: ' + IntToStr(j_max+1));
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
StringGrid1.ColCount := StrToInt(Edit1.Text)
end;
procedure TForm1.Edit2Change(Sender: TObject);
begin
StringGrid1.RowCount := StrToInt(Edit2.Text)
end;
2 Задача
Данная задача похожа на 1ую можно переделать...^_^
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
StringGrid1.ColCount := StrToInt(Edit1.Text);
StringGrid1.RowCount := StrToInt(Edit1.Text);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j, n : integer;
a : array [0..50, 0..50] of integer;
begin
n := StrToInt(Edit1.Text);
for i := 0 to n - 1 do
for j := 0 to n - 1 do
begin
a[i,j] := 0;
if (i = n-j-1) or (i=j) then
a[i,j] := 1;
StringGrid1.Cells[i,j] := IntToStr(a[i,j]);
end;
end;