Дан массив B(n*m).Элементы массива задать в программке.Удалить все строки, в которых
Дан массив B(n*m).Элементы массива задать в программке.Удалить все строчки, в которых нет нулевого элемента. Паскаль
Задать свой вопрос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]]
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]]
Слаутин
Егор
Благодарю
Шерешков
Гена
Пожалуйста
Эмилия Штрик
Если нет Паскаля на компьютере этого, можно вот здесь проверить в браузере прямо: http://pascalabc.net/WDE/
Амина Кубаналиева
Это официальный веб-сайт PascalABC
Ксюха Буляковская
Есть само собой ;)
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Облако тегов