Разработать функцию, проверяющую, есть ли отрицательные элементы в указанной строке...

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

Разработать функцию, проверяющую, есть ли отрицательные элементы в указанной строке двухмерного массива. Разработать процедуру, удаляющую указанную строку двухмерного массива. Удаленная строка заполняется нулями и переносится в конец массива. Написать программу удаления всех строк двухмерного массива с отрицательными элементами


Информатика (54 баллов) | 111 просмотров
Дан 1 ответ
0 голосов

function HasNeg(a: array[,] of integer; pRow: integer) :=

   a.Row(pRow).Any(p -> p < 0);

procedure DelRow(var a: array[,] of integer; pRow: integer);

begin

 var maxRow := a.RowCount - 1;

 for var iRow := pRow to maxRow - 1 do

   a.SetRow(iRow, a.Row(iRow + 1));

 a.SetRow(maxRow, ArrFill(a.ColCount, 0))

end;

begin

 var b := MatrRandom(5, 4, -3, 9);

 b.Println(3);

 for var i := 0 to 4 do

   while HasNeg(b, i) do

     DelRow(b, i);

 b.Println

end.


image
(1.6k баллов)