Дан массив B(n*m).Элементы массива задать в программе.Удалить все строки, в которых нет нулевого элемента. Паскаль

Дан массив B(n*m).Элементы массива задать в программе.Удалить все строки, в которых нет нулевого элемента. Паскаль
Гость
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.0, сборка 1128 procedure DeleteRow(var a:array[,] of integer; r:integer); begin   var rows:=a.GetLength(0);   var cols:=a.GetLength(1);   for var i:=r to rows-2 do     for var j:=0 to cols-1 do a[i,j]:=a[i+1,j];   SetLength(a,rows-1,cols) end; begin   var b:array[,] of integer:=((1,2,3,0),(5,6,0,8),       (9,10,11,12),(13,0,15,16),(17,18,19,20));   Writeln('Исходный массив: ',b);   var n:=b.GetLength(0);   var m:=b.GetLength(1);   // удаляем строки без нулевых элементов   for var i:=n-1 downto 0 do begin     var FoundZero:=False;     for var j:=0 to m-1 do       if b[i,j]=0 then begin FoundZero:=True; Break end;     if not FoundZero then DeleteRow(b,i) // удалить строку     end;   Writeln('Результирующий массив: ',b); end. Тестовое решение: Исходный массив: [[1,2,3,0],[5,6,0,8],[9,10,11,12],[13,0,15,16],[17,18,19,20]] Результирующий массив: [[1,2,3,0],[5,6,0,8],[13,0,15,16]]
Не нашли ответ?
Ответить на вопрос
Похожие вопросы