1. Современное решение// PascalABC.NET 3.2, сборка 1417 от 28.03.2017// Внимание! Если программа не работает, обновите версию!begin var n:=ReadInteger('Количество строк в матрице:'); var m:=ReadInteger('Количество столбцов в матрице:'); Writeln('*** Исходная матрица [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('Строка с наибольшей суммой:'); a.Row(a.Rows.Select(r->r.Sum).ToArray.IndexMax).Printlnend.
ПримерКоличество строк в матрице: 6Количество столбцов в матрице: 9*** Исходная матрица [6,9] *** 54 -83 45 -44 -52 57 -90 -71 -70 8 99 -27 72 46 28 -18 36 48 -85 24 -57 -67 63 -69 52 44 -99 -34 -44 -1 45 48 63 68 48 98 27 84 15 70 37 -70 1 24 -60 -82 -63 6 -59 91 -64 84 65 66------------------------------------Строка с наибольшей суммой:8 99 -27 72 46 28 -18 36 48
2. Школьное решение в стиле языка ТурбоПаскаль 1983гconst nn=20;var i,j,n,m,k,s,max:integer; a:array[1..nn,1..nn] of integer;begin Write('Количество строк в матрице: '); Read(n); Write('Количество столбцов в матрице :'); Read(m); Writeln('*** Исходная матрица [',n,',',m,'] ***'); Randomize; max:=-100; for i:=1 to n do begin s:=0; for j:=1 to m do begin a[i,j]:=Random(199)-99; Write(a[i,j]:4); s:=s+a[i,j] end; Writeln; if s>max then begin max:=s; k:=i end end; for i:=1 to 4*n do Write('-'); Writeln; Writeln('Строка с наибольшей суммой:'); for j:=1 to m do Write(a[k,j],' '); Writelnend.