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

Ответы на вопрос

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.




Конечно, я могу помочь вам с написанием такой программы на языке Python. Вот функция для проверки наличия отрицательных элементов в строке двумерного массива:
pythondef has_negative_elements(row):
return any(x < 0 for x in row)
И вот процедура, которая удаляет указанную строку и переносит её в конец массива, заполнив нулями:
pythondef move_row_to_end(matrix, row_index):
num_rows = len(matrix)
num_columns = len(matrix[0])
# Заполняем удаляемую строку нулями
for j in range(num_columns):
matrix[row_index][j] = 0
# Переносим удаляемую строку в конец массива
matrix.append(matrix.pop(row_index))
Наконец, вот программа, которая удаляет все строки с отрицательными элементами:
pythondef remove_rows_with_negatives(matrix):
i = 0
while i < len(matrix):
if has_negative_elements(matrix[i]):
move_row_to_end(matrix, i)
else:
i += 1
# Пример использования:
matrix = [
[1, 2, 3],
[-1, 0, 2],
[4, -5, 6],
[7, 8, 9],
]
print("Исходная матрица:")
for row in matrix:
print(row)
remove_rows_with_negatives(matrix)
print("\nМатрица после удаления строк с отрицательными элементами:")
for row in matrix:
print(row)
Просто вставьте этот код в свою среду программирования Python, и он выполнит описанные вами действия. Убедитесь, что двумерный массив представлен в виде списка списков, как в примере matrix
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili