Задан двумерный массив целых чисел(таблица) размерности (NxN). Определить сумму элементов массива каждого столбца масива и наибольшую среди сумм — Pascal(Паскаль)

var a:array[1..40,1..40] of integer; n,m,i,j:byte; max,sum:longint;
function f_sum_stolb(st,n:byte; a:array[1..40,1..40] of integer):longint;
var i:byte;sum:longint;
begin
  sum:=0;
  for i:=1 to n do
  sum:=sum+a[i,st];
  f_sum_stolb:=sum;
end;
begin
  writeln('Введите размерность матрицы n*m');
  readln(n,m);
  for i:=1 to n do
    for j:=1 to m do
    begin
      writeln('Введите элемент ',i,' строки ',j,' столбца');
      readln(a[i,j]);
    end;
  for i:=1 to n do
  begin
  for j:=1 to m do
  write(a[i,j]:3);
  writeln;
  end;
  for i:=1 to m do
  begin
    sum:=f_sum_stolb(i,n,a);
    if i=1 then max:=sum
           else if sum>max then max:=sum;
    writeln('Сумма элементов ',i,' столбца- ',sum);
  end;
  writeln('Максимальная сумма- ',max);
end.

Вариант 2

program zad;
uses crt;
var
mas:array[1..100,1..100] of integer;
s:array[1..100] of integer;
max,i,j,n,m:integer;
begin
  clrscr;
  randomize;
  write('m = ');readln(m);
  write('n = ');readln(n);
  for i:=1 to m do
  begin
    for j:=1 to n do
    begin
      mas[i,j]:=random(101)-50;
      write(mas[i,j]:4);
    end;
    writeln;
  end;
 
  for j:=1 to n do
  begin
    for i:=1 to m do
    s[j]:=s[j]+mas[i,j];
  end;
  writeln;
  for j:=1 to n do
  write(s[j]:4);
  writeln;
  s[1]:=max;
  for j:=1 to n do
  if max<=s[j] then max:=s[j];
  writeln('максимальная сумма ',max);
  readln;
end.

Leave a Comment

86 − = 78