В двумерном массиве нужно найти столбец с максимальной суммой элементов и в этом столбце найти минимальный элемент. Длина строк и столбцов задаётся через эдит. Наработки есть, но ищет не верно :(
var Form1: TForm1; a:array [1..30, 1..30] of integer; b:array [1..30] of integer; i,j,sum,max,maxn,min,m,n:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin Randomize; n:=strtoint(Edit1.Text); m:=strtoint(edit2.text); for i:=0 to N-1 do for j:=0 to M-1 do a[i,j]:= Round(Sin(Random(100))*100); StringGrid1.RowCount:=n+1; StringGrid1.ColCount:=m+1; with StringGrid1 do begin i:=0; for j:=1 to RowCount do Cells[i,j]:=IntToStr(j); j:=0; for i:=1 to ColCount do Cells[i,j]:=IntToStr(i); end; with StringGrid1 do for i:=1 to n do for j:=1 to m do Cells [j,i]:=IntToStr(a[i-1,j-1]); end;
procedure TForm1.Button3Click(Sender: TObject); begin for i:=1 to n+1 do begin sum:=0; for j:=1 to m+1 do sum:=sum+a[i,j]; b[i]:=sum; end; max:=b[1]; maxn:=1; for i:=2 to n+1 do if max< b[i] then begin max:=b[i]; maxn:=i; end; edit3.text:=(inttostr(maxn)+' столбец'); end;
procedure TForm1.Button4Click(Sender: TObject); begin min:=a[maxn,1]; for i:=1 to n+1 do if min>a[maxn,i] then min:=a[maxn,i]; edit4.text:=('Значение мин элемента: '+inttostr(min)); end;