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

Вопрос школьника по предмету Информатика

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

Ответ учителя по предмету Информатика

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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей