Дан массив, состоящий из 20 элементов. Произвести вставку числа 10 в позицию m данного...

0 голосов
85 просмотров

Дан массив, состоящий из 20 элементов. Произвести вставку числа 10 в позицию m данного массива. Позиция m должна соответствовать диапазону 1≤m≤n.


Информатика (56 баллов) | 85 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

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 <br>begin
a[m]:=10;
writeln('полученный массив:');
for i:=1 to n do write(a[i],' ');
end;
end.

(149k баллов)
0

Вставка в массив обычно идёт с последующим смещением всех элементов.

0

Cgfcb,j

0

Спасибо

0 голосов

Решение со смещением всех последующих элементов. 

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.

(778 баллов)
0

Спасибо