Помогите написать программу в Паскаль.Для произвольной матрицы строку с наибольшей суммой...

0 голосов
31 просмотров

Помогите написать программу в Паскаль.Для произвольной матрицы строку с наибольшей суммой элементов переписать в обратном порядке программа.


Информатика (17 баллов) | 31 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! В других версиях языка работа не гарантируется!

begin
  var m:=ReadInteger('Количество строк в массиве:');
  var n:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** Исходный массив A[',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-50,50);
  a.Println(4);
  Writeln(4*a.ColCount*'-');
  var k:=a.Rows.Select(x->x.Aggregate(0,(x,y)->x+y)).ToArray.IndexMax;
  for var j:=0 to (n-1) div 2 do Swap(a[k,j],a[k,n-1-j]);
  a.Println(4)
end.

Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 5
*** Исходный массив A[4,5] ***
  29  36 -50  -4 -32
  -1 -10  -7 -47 -50
 -16   4  48 -41 -43
   8  46  45  14 -44
--------------------
  29  36 -50  -4 -32
  -1 -10  -7 -47 -50
 -16   4  48 -41 -43
 -44  14  45  46   8
(150k баллов)