Задача 50.
Вставить строку из нулей на место строки с номером k
{Для решения этой задачи необходимо:
Первые k-1 строк оставить без изменения.
Все строки после k-й сдвинуть на одну назад, это лучше начать
с последней строки и идти до k-й.
Элементам строки k присвоить заданное значение
Кроме того, необходимо изменить размер массива. Так как мы вставляем строку, то число строк будет на одну больше:}
program prim2;
uses crt;
type mas=array[1..100,1.. 100] of integer;
var a:mas;
i,j,k,n:integer;
begin
clrscr;
randomize;
write('n=');readln(n);
{Создаем и распечатываем двумерный массив.}
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(45)-22;
write(a[i,j]:4);
end;
writeln;
end;
{Вводим номер вставляемой строки.}
write('k=');readln(k);
{Сдвигаем строки назад до К-й строки, начиная с последней.}
for i:=n downto k do
for j:=1 to n do a[i+1,j]:=a[i,j];
{Обнуляем элементы К-й строки.}
for j:=1 to n do a[k,j]:=0;
{Распечатываем новый массив, который на одну строку больше исходного.}
for i: = 1 to n+1 do
begin
for j:=1 to n do
begin
write(a[i,j]:4);
end;
writeln;
end;
readln;
end.
|