PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(m,n,-15,15);
a.Println(4); Writeln(4*a.ColCount*'-');
var st:=new List<(BigInteger,integer)>;
for var i:=0 to a.ColCount-1 do begin
var b:=a.Col(i);
if b.All(t->Abs(t)<=10) then<br> st.Add((b.Aggregate(BigInteger(1),(p,q)->p*q),i));
end;
if st.Count>0 then begin
var min:=st.Min(t->t[0]);
var idx:=st.Find(t->t[0]=min)[1]+1;
Writeln($'В колонке {idx} минимальное произведение {min}')
end
else Writeln('Нет требуемых столбцов')
end.