Известно, что в матрицы элемент последнего столбца может иметь лишь значения 0 и 1. Найти среднее арифметическое общей совокупности элементов тех строк, последний элемент которых равен 1.\
var Form1: TForm1; n,m:integer; A:array of array of real; f:boolean;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); Var i:integer; begin f:=true; n:=StrToInt(Edit1.Text); m:=StrToInt(Edit2.Text); StringGrid1.ColCount:=m+1; StringGrid1.RowCount:=n+1; for i:=1 to n do StringGrid1.Cells[0,i]:=IntToStr(i); for i:=1 to m do StringGrid1.Cells[i,0]:=IntToStr(i);
end;
procedure TForm1.Button2Click(Sender: TObject); Var i,j,k:integer; S:real; begin if not f then showmessage('не ввели n,m') else begin SetLength(a,n,m); S:=0; k:=0; for i:=0 to n-1 do for j:=0 to m-1 do Begin if StringGrid1.Cells[j+1,i+1]='' then a[i,j]:=0 else a[i,j]:=StrToFloat(StringGrid1.Cells[j+1,i+1]); for j=m-1 do for i=0 to n-1 do if a[i,j]:=1 then begin S:=S+a[i,j]; k:=k+1; end; S:=S/k; End; Edit3.text:=FloatToStr(S); end end;
procedure TForm1.FormCreate(Sender: TObject); begin f:=false; Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; end;
end.
Сообщение отредактировано: volvo - 6.11.2006 16:25