Ответ на первый вопрос
Код:
type
TMatrix=Array of array of Real;
TVector=Array of Real;
function SrednneVsegoMassiva(a:TMatrix):Real;
var
x,y:Integer;
begin
Result:=0;
for x := 0 to Length(a)-1 do
for y := 0 to Length(a[0]) do
Result:=Result+a[x,y];
Result:=Result/(Length(a)*Length(a[0]));
end;
function SrednyaStolbca(a:TVector):Real;
var
x:Integer;
begin
Result:=0;
for x:= 0 to Length(a)-1 do
Result:=Result+a[x];
Result:=Result/Length(a);
end;
procedure Vopros1(a:TMatrix);
var
c:Real;
x:Integer;
begin
c:=SrednneVsegoMassiva(a):Real;
for x := 0 to Length(a)-1 do
if SrednyaStolbca(a[x])<c then
//тут выводим x-номер столбца, куда захочешь
end;
конструктор собери сам)
код не проверял, может содержать ошибки