перетворити стовпц матриц А(nxn) так: якщо кльксть елементв у стовпц ,

Перетворити стовпц матриц А(nxn) так: якщо кльксть елементв у стовпц , як перевищують мнмальне додатне значення цього стовця ,бльша за 3 , то вс додатн елементи вдповдного стовця роздлити на 2

Задать свой вопрос
1 ответ
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017
// Внимание! Если программка не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Начальная матрица [',n,',',n,'] ***');
  var a:=MatrRandom(n,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var j:=0;
  var nr:=ArrFill(n,False);
  foreach var c in a.Cols do begin
    var s:=c.Where(x-gt;xgt;0);
    if s.Countgt;0 then begin
      var min:=s.Min;
      var k:=c.Where(x-gt;xgt;min).Count;
      nr[j]:=kgt;3; j+=1
      end
    end;
  Writeln('*** Результирующая матрица ***');
  for var i:=0 to n-1 do
    if nr[i] then a.SetCol(i,a.Col(i).Select(x-gt;(xgt;0?x div 2:x)).ToArray);
  a.Println(4)
end.

Пример
Количество строк/столбцов в матрице: 10
*** Начальная матрица [10,10] ***
 -12  16  82  17  61 -19 -54  30 -27  77
  72 -88  64 -50  85  16   3 -90  72  69
 -26  22  27 -72 -83  23 -39 -56  -6  87
   2 -56  -4 -43 -15 -31  75  85 -96  -7
  42 -17  67  55  32  74  28 -92 -81 -97
 -44  80 -50  81  -8  66  89  55   0 -61
 -79 -97 -64 -15 -25  28  15   7  64  17
  41  17 -93 -20 -72  91  54  71  -5 -57
  95 -47 -74  -8  32  22  94  15  64  19
 -20 -79 -15  65 -28  39 -52 -18 -20 -96
----------------------------------------
*** Результирующая матрица ***
 -12  16  82  17  61 -19 -54  15 -27  38
  36 -88  64 -50  85   8   1 -90  72  34
 -26  22  27 -72 -83  11 -39 -56  -6  43
   1 -56  -4 -43 -15 -31  37  42 -96  -7
  21 -17  67  55  32  37  14 -92 -81 -97
 -44  80 -50  81  -8  33  44  27   0 -61
 -79 -97 -64 -15 -25  14   7   3  64   8
  20  17 -93 -20 -72  45  27  35  -5 -57
  47 -47 -74  -8  32  11  47   7  64   9
 -20 -79 -15  65 -28  19 -52 -18 -20 -96
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт