Вопрос задан 08.07.2023 в 23:36. Предмет Информатика. Спрашивает Ситников Миша.

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

массива. Разработать процедуру, удаляющую указанную строку двухмерного массива. Удаленная строка заполняется нулями и переносится в конец массива. Написать программу удаления всех строк двухмерного массива с отрицательными элементами
0 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.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам с написанием такой программы на языке Python. Вот функция для проверки наличия отрицательных элементов в строке двумерного массива:

python
def has_negative_elements(row): return any(x < 0 for x in row)

И вот процедура, которая удаляет указанную строку и переносит её в конец массива, заполнив нулями:

python
def 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))

Наконец, вот программа, которая удаляет все строки с отрицательными элементами:

python
def 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.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос