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

Паскаль! Помогите пожалуйста! Дана матрица. Вставить в нее столбец из нулевых элементов после заключительного столбца, в котором количество четных частей меньше 5. Если таких столбцов нет - выдать подходящее извещенье.

Задать свой вопрос
1 ответ
// PascalABC.NET 3.3, сборка 1549 от 17.10.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*'-');
  var (i,k):=(0,-1);
  foreach var c in a.Cols do
    if c.Where(e-gt;e.IsEven).Countlt;5 then k:=i
    else i+=1;
  if kgt;=0 then begin
    Writeln('*** Матрица - результат [',n,',',m+1,'] ***');
    SetLength(a,n,m+1);
    for var c:=a.ColCount-1 downto k+1 do
      a.SetCol(c,a.Col(c-1));
    a.SetCol(k+1,ArrFill(a.RowCount,0));
    a.Println(4)
    end
  else Writeln('Нет столбцов с количеством четных частей, наименьшим 5')
end.

Пример
Количество строк в матрице: 8
Количество столбцов в матрице: 6
*** Начальная матрица [8,6] ***
  38 -44  50  20 -85 -92
  15 -43  43   6 -80  63
  76   2 -63  32  14 -37
 -78 -30  94 -45  44 -25
 -74  30  15 -56 -41 -88
  72 -15 -74  38 -47 -76
  11 -75  -2  70  35  65
 -52 -42   9  94  59 -28
------------------------
*** Матрица - результат [8,7] ***
  38 -44  50  20   0 -85 -92
  15 -43  43   6   0 -80  63
  76   2 -63  32   0  14 -37
 -78 -30  94 -45   0  44 -25
 -74  30  15 -56   0 -41 -88
  72 -15 -74  38   0 -47 -76
  11 -75  -2  70   0  35  65
 -52 -42   9  94   0  59 -28
, оставишь ответ?
Имя:*
E-Mail:


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

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

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

Войти на сайт