Паскаль! Помогите пожалуйста! Удалить первую из строк матрицы в которой сумма элементов...

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

Паскаль! Помогите пожалуйста! Удалить первую из строк матрицы в которой сумма элементов кратна 3. Если такой строки нет - выдать соответствующее сообщение.


Информатика (543 баллов) | 58 просмотров
0

Изменив размер

0

Нужно удалить строку и размер матрицы станет меньше

0

Напишите пожалуйста программу, если знаете как

0

Cgfcb,j ,jkmijt

0

Спасибо большое

Дан 1 ответ
0 голосов
Правильный ответ
// 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 r in a.Rows do
    if r.Sum mod 3=0 then begin
      k:=i; break
      end
    else i+=1;
  if k>=0 then begin
    Writeln('*** Матрица - результат [',n-1,',',m,'] ***');
    for var r:=k to a.RowCount-2 do
      a.SetRow(r,a.Row(r+1));
    SetLength(a,n-1,m);
    a.Println
    end
  else Writeln('Нет строк с суммой жлементов, кратной трем')
end.


Пример
Количество строк в матрице: 7
Количество столбцов в матрице: 8
*** Исходная матрица [7,8] ***
 -22  75  97  33  10 -58 -50 -11
  -5  24  18 -19  -2  77 -55 -74
  50  38 -94  88 -80 -76  70 -20
 -53  48 -36 -92  70 -76 -14 -36
 -57  30 -76  62 -75 -21   3  93
  57  -7  74 -39  87 -74  65  42
  94 -68  45 -61 -65 -49 -83 -46
--------------------------------
*** Матрица - результат [6,8] ***
 -22  75  97  33  10 -58 -50 -11
  50  38 -94  88 -80 -76  70 -20
 -53  48 -36 -92  70 -76 -14 -36
 -57  30 -76  62 -75 -21   3  93
  57  -7  74 -39  87 -74  65  42
  94 -68  45 -61 -65 -49 -83 -46
(150k баллов)