Составить программу на паскале.сформировать с датчика случайных чисел массива a[1..3,1..6], элементы которого находятся в промежутке от -20 до 20 .удалить n строку массива.
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var k:=3; Writeln('*** Исходный массив ***'); var a:=MatrRandom(k,6,-20,20); a.Println(4); Writeln(4*a.ColCount*'-'); var n:=ReadInteger('Какую строку удалить (1-'+k+')?'); Assert(n.Between(1,k),'Введено неверное значение'); var r:=a.Row(k-1); // последняя строка SetLength(a,k-1,a.ColCount); // теперь строк на одну меньше if n<k then begin for var i:=n-1 to k-3 do a.SetRow(i,a.Row(i+1)); a.SetRow(k-2,r) end; Writeln(4*a.ColCount*'-'); a.Println(4) end.
// Внимание! Если программа не работает, обновите версию!
begin
var k:=3;
Writeln('*** Исходный массив ***');
var a:=MatrRandom(k,6,-20,20);
a.Println(4); Writeln(4*a.ColCount*'-');
var n:=ReadInteger('Какую строку удалить (1-'+k+')?');
Assert(n.Between(1,k),'Введено неверное значение');
var r:=a.Row(k-1); // последняя строка
SetLength(a,k-1,a.ColCount); // теперь строк на одну меньше
if n<k then begin
for var i:=n-1 to k-3 do
a.SetRow(i,a.Row(i+1));
a.SetRow(k-2,r)
end;
Writeln(4*a.ColCount*'-'); a.Println(4)
end.
Примеры
*** Исходный массив ***
-8 3 -10 -5 -8 11
14 -5 -19 -6 -19 -15
0 -11 11 3 -6 -12
Какую строку удалить (1-3)? 1
14 -5 -19 -6 -19 -15
0 -11 11 3 -6 -12
*** Исходный массив ***
11 -14 -3 18 19 -9
-11 19 8 20 -19 19
-20 13 3 -13 13 1
Какую строку удалить (1-3)? 3
11 -14 -3 18 19 -9
-11 19 8 20 -19 19