Помогите, прошу вас!!!!

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

Помогите, прошу вас!!!!


image

Информатика (15 баллов) | 37 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.NET 3.3, сборка 1599 от 17.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln('*** Исходная матрица ***');
  var a:=MatrRandom(8,5,-10,10);
  a.Println(4); Writeln(4*a.ColCount*'-');
  // 3
  a.Transform(t->2*t);
  Writeln('*** Задание "3" ***');
  a.Println(4); Writeln(4*a.ColCount*'-');
  // 4
  var s:=a.ElementsWithIndexes; // последовательность не хранится!
  var em:=s.MinBy(t->t[0]);
  Writeln('Минимальный элемент  А[',em[1]+1,',',em[2]+1,']=',em[0]);
  em:=s.MaxBy(t->t[0]);
  Writeln('Максимальный элемент А[',em[1]+1,',',em[2]+1,']=',em[0]);
  // 5
  var i:=a.Rows.Select(r->r.Sum).ToArray.IndexMax;
  Write('Строка ',i+1,': '); a.Row(i).Println
end.

Пример
*** Исходная матрица ***
   8  -1  -5  -1   5
  -4   2   5  -8  -8
   7  -7  -2  -6   0
 -10  -6  -1   3   3
   1   5   9   1   6
   4   6   2   6  -5
   7  -8   1   4  -5
 -10   4   7   3   6
--------------------
*** Задание "3" ***
  16  -2 -10  -2  10
  -8   4  10 -16 -16
  14 -14  -4 -12   0
 -20 -12  -2   6   6
   2  10  18   2  12
   8  12   4  12 -10
  14 -16   2   8 -10
 -20   8  14   6  12
--------------------
Минимальный элемент  А[4,1]=-20
Максимальный элемент А[5,3]=18
Строка 5: 2 10 18 2 12


image
(150k баллов)
0 голосов

//Pascal
var
  A: array[1..8, 1..5] of integer;
  i, j: byte;
  Min, Max, MinIdC, MinIdR, MaxIdC,
   MaxIdR, Sum, SumAbs, SumIdR: integer;
 begin
 randomize;
 writeln(' ***Исходный массив***');
 for i := 1 to 8 do
 begin
    for j := 1 to 5 do
    begin
      A[i, j] := random(21)-10;
      write(A[i, j]:4);
    end;
    writeln;
 end;
 writeln;
 writeln('***Удвоили элементы***');
 for i := 1 to 8 do
 begin
    for j := 1 to 5 do
    begin
      A[i, j] := A[i, j] * 2;
      write(A[i, j]:4);
    end;
    writeln;
 end;
 writeln;
 Min := A[1, 1]; Max := A[1, 1];
 MaxIdC := 1; MaxIdR := 1;
 MinIdC := 1; MinIdR := 1;
 for i := 1 to 8 do
 begin
    Sum := 0;
    for j := 1 to 5 do
    begin
      if A[i, j] < Min then
      begin
         Min := A[i, j];
         MinIdC := j;
         MinIdR := i;
      end;
      if A[i, j] > Max then
      begin
         Max := A[i, j];
         MaxIdC := j;
         MaxIdR := i;
      end;
      Sum := Sum + A[i, j];
    end;
    if Sum > SumAbs then
    begin
      SumAbs := Sum;
      SumIdR := i;
    end;
 end;
 writeln('Минимальный элемент A[',MinIdR,',',MinIdC,'] = ', Min);
 writeln('Максимальный элемент A[',MaxIdR,',',MaxIdC,'] = ', Max);
 write('Строка ', SumIdR, ':');
 for j := 1 to 5 do write(A[SumIdR,j]:4);
 readln;
 end.

(9.4k баллов)