Const n=10;m=7; var a:array[1..n,1..m]of integer; i,j,min,s,j_m:integer; begin for i:=1 to n do begin writeln; for j:=1 to m do begin a[i,j]:=random(20)-5; write(a[i,j]:4); end; end; writeln; {запишем в min чуть больше наибольшего значения суммы, которая может быть в любом столбце. Больше, чем 200 не будет, т.к. всего 10 строк, каждое значение исходя из заполнения матрицы не может быть больше, чем 15 } min:=200;j_m:=1; for j:=1 to m do begin s:=0; for i:=1 to n do s:=s+a[i,j]; if s<min then begin j_m:=j; min:=s; end; writeln('j :',j,' ',s); {выводится значение суммы в каждом столбце, необязательно, можно удалить} end; writeln('№ столбца с мин суммой ',j_m); for i:=1 to n do writeln(a[i,j_m]); {вывод нужного столбца} end.
// PascalABC.NET 3.7.2
// Да, именно так выглядит pascal.net.
function MinMax<T>(source: Array of T): (T, T);
where T: System.IComparable<T>;
begin
var max := source.First();
var min := source.First();
foreach var item:T in source do begin
if item.CompareTo(max) > 0 then max := item
else if item.CompareTo(min) < 0 then min := item
end;
Result := (min, max);
end;
begin
var src := ArrRandom();
src.PrintLn;
var (min, max) := MinMax(src);
PrintLn(string.Format('Min, max values of source array is {0}, {1}', min, max));
end.
Объяснение:
постфикс .net указывает на то, что язык имеет поддержку платформы MS.NET. Решение выполнено средствами платформы MS.NET и среды PascalABC.NET 3.7.2
n=10;m=7;
var
a:array[1..n,1..m]of integer;
i,j,min,s,j_m:integer;
begin
for i:=1 to n do
begin
writeln;
for j:=1 to m do
begin
a[i,j]:=random(20)-5;
write(a[i,j]:4);
end;
end;
writeln;
{запишем в min чуть больше наибольшего значения суммы, которая может быть в любом столбце. Больше, чем 200 не будет, т.к. всего 10 строк, каждое значение исходя из заполнения матрицы не может быть больше, чем 15 }
min:=200;j_m:=1;
for j:=1 to m do
begin
s:=0;
for i:=1 to n do
s:=s+a[i,j];
if s<min then
begin
j_m:=j;
min:=s;
end;
writeln('j :',j,' ',s); {выводится значение суммы в каждом столбце, необязательно, можно удалить}
end;
writeln('№ столбца с мин суммой ',j_m);
for i:=1 to n do
writeln(a[i,j_m]); {вывод нужного столбца}
end.