Вопрос по информатике:
Дан массив B(n*m).Элементы массива задать в программе.Удалить все строки, в которых нет нулевого элемента. Паскаль
- 19.12.2015 04:38
- Информатика
- remove_red_eye 14943
- thumb_up 32
Ответы и объяснения 1
// 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]]
- 20.12.2015 20:41
- thumb_up 24
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.