Дан массив, состоящий из 20 элементов. Произвести вставку числа 10 в позицию m данного массива. Позиция m должна соответствовать диапазону 1≤m≤n.
Дан массив, состоящий из 20 элементов. Произвести вставку числа 10 в позицию m данного массива. Позиция m должна соответствовать диапазону 1≤m≤n.
Ответ(ы) на вопрос:
Гость
Program n1;
const n=20;
var a: array[1..n] of integer;
i,m: integer;
begin
writeln('исходный массив:');
for i:=1 to n do
begin
a[i]:=random(15);
write(a[i],' ');
end;
writeln;
write('введите позицию: ');
readln(m);
if (m>=1) and (m<=n) then
begin
a[m]:=10;
writeln('полученный массив:');
for i:=1 to n do write(a[i],' ');
end;
end.
Гость
Решение со смещением всех последующих элементов.
program znanija;
const n = 21; // N + 1
var
a:array[1..n] of integer;
m, i:integer;
begin
write('Введите позицию для вставки: ');
readln(m);
if (m<1) or (m>n-1) then
begin
writeln('Недопустимое значение m');
exit;
end;
write('Массив до вставки: ');
for i := 1 to n-1 do
begin
a[i] := random(100);
write(a[i], ' ');
end;
writeln();
for i := n - 1 downto m do // Смещение
a[i+1] := a[i];
a[m] := 10; // Вставка
write('Массив после вставки: ');
for i := 1 to n do
write(a[i], ' ');
end.
Не нашли ответ?
Похожие вопросы