Вставка и удаление нескольких строк / столбцов в двумерном массиве Задача 1. Удаление Дан двумерный массив, элементы которого целые числа. Удалите из него все строки, в которых нет ни одного четного элемента. 1 2 3 4 5 7 1 2 3 4 5 7 1 2 3 4 5 7 1 2 10 4 5 7 1 2 3 4 5 7 1 2 3 4 5 7 1 2 3 4 5 7 1 2 3 4 5 7 1 2 10 4 5 7 1 2 3 4 5 7 i=1 2 3 4 5 7 2 3 4 5 7 2 3 4 5 7 2 10 4 5 7 2 3 4 5 7 n=5 2 3 4 5 7 2 3 4 5 7 2 3 4 5 7 2 10 4 5 7 2 3 4 5 7 i=1 2 3 4 5 7 2 3 4 5 7 2 3 4 5 7 2 10 4 5 7 2 3 4 5 7 i=2 2 3 4 5 7 2 3 4 5 7 2 3 4 5 7 2 10 4 5 7 2 3 4 5 7 i=3 2 3 4 5 7 2 3 4 5 7 2 3 4 5 7 2 10 4 5 7 2 3 4 5 7 i=4 2 3 4 7 2 3 4 7 2 3 4 7 2 10 4 7 2 3 4 7 n=4 2 3 4 7 2 3 4 7 2 3 4 7 2 10 4 7 2 3 4 7 i=4 2 3 4 2 3 4 2 3 4 2 2 10 3 4 4 n=3 i<=n нет да Считаем количество четных элементов в i-строке нет Строка подходит, удаляем ее Следующая строка на i- м месте Четные элементы есть да Строка не подходит i:=i+1 i:=1; while i<=n do begin t:=0; for j:=1 to m do if a[i,j] mod 2 = 0 then t:=t+1; if t = 0 then begin for k:=i to n-1 do for j:=1 to m do a[k,j]:=a[k+1,j]; n:=n-1; end else i:=i+1; end; Подсчет количества четных элементов для i-й строки Удаление i-й строки Задача 2. Вставка Дан двумерный массив, элементы которого - целые числа. Вставьте новую строку, каждый элемент которой число ноль, после всех строк, в которых нет ни одного четного элемента. 1 2 3 4 5 7 1 2 3 4 5 7 1 2 3 4 5 7 1 2 10 4 5 7 1 2 3 4 5 7 1 2 3 4 5 7 1 2 3 4 5 7 1 2 3 4 5 7 1 2 10 4 5 7 1 2 3 4 5 7 i=1 1 2 2 3 4 5 7 1 2 2 3 4 5 7 1 2 2 3 4 5 7 1 2 2 10 4 5 7 1 2 2 3 4 5 7 n=7 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 10 4 5 7 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 10 4 5 7 1 0 2 3 4 5 7 i=3 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 10 4 5 7 1 0 2 3 4 5 7 i=4 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 10 4 5 7 1 0 2 3 4 5 7 i=5 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 3 4 5 7 1 0 2 10 4 5 7 1 0 2 3 4 5 7 i=6 1 0 2 3 4 5 7 7 1 0 2 3 4 5 7 7 1 0 2 3 4 5 7 7 1 0 2 10 4 5 7 7 1 0 2 3 4 5 7 7 n=8 1 0 2 3 4 5 0 7 1 0 2 3 4 5 0 7 1 0 2 3 4 5 0 7 1 0 2 10 4 5 0 7 1 0 2 3 4 5 0 7 1 0 2 3 4 5 0 7 1 0 2 3 4 5 0 7 1 0 2 3 4 5 0 7 1 0 2 10 4 5 0 7 1 0 2 3 4 5 0 7 i=8 1 0 2 3 4 5 0 7 0 1 0 2 3 4 5 0 7 0 1 0 2 3 4 5 0 7 0 1 0 2 10 4 5 0 7 0 1 0 2 3 4 5 0 7 0 n=9 i<=n нет да Считаем количество четных элементов в i-строке нет Строка подходит, вставляем строку Следующая строка i:= i+2 Четные элементы есть да Строка не подходит i:=i+1 i:=1; while i<=n do begin t:=0; for j:=1 to m do if a[i,j] mod 2 = 0 then t:=1; if t = 0 then begin for k:=n downto i+1 do for j:=1 to m do a[k+1,j]:=a[k,j]; for j:=1 to m do a[i+1,j]:=0; n:=n+1; i:=i+2; end else i:=i+1; end; Подсчет количества четных элементов для i-й строки Вставка i+1-й строки Обнуление i+1 строки Д/з School.sgu.ru Задачник по программированию Двумерные массивы 2 №№ 3.2, 3.3, 3.8