В массиве после каждого элемента вставить такой же - Pascal
Формулировка задачи:
дан массив. после каждого элемента вставте такой же.
Решение задачи: «В массиве после каждого элемента вставить такой же»
textual
Листинг программы
uses crt;
const nmax=50;
var a:array[1..nmax*2] of integer;
n,c,i,j:integer;
begin
randomize;
repeat
write('Размер массива [2..',nmax,'] n=');
readln(n);
until n in [2..nmax];
writeln('Исходный массив');
for i:=1 to n do
begin
a[i]:=-20+random(41);
write(a[i]:4);
end;
writeLn;
i:=2*n;
while i>1 do
begin
a[i]:=a[i div 2];
a[i-1]:=a[i div 2];
i:=i-2;
end;
writeLn('Массив после вставок');
for i:=1 to 2*n do
write(a[i]:4);
end.
Объяснение кода листинга программы
- Объявляется константа
nmaxравная 50. - Объявляются переменные
a(массив целых чисел длиной доnmax*2),n,c,i,j- все переменные целочисленные. - Генерируется случайное значение
nв диапазоне от 2 доnmax. - Выводится сообщение с просьбой ввести размер массива.
- Генерируется массив
aдлинойn, заполняемый случайными числами в интервале от -20 до 20. - Выводится исходный массив
a. - Выполняется операция вставки копий каждого элемента в массиве, после каждого его элемента.
- Выводится измененный массив
aпосле вставок, включая добавленные элементы после каждого изначального элемента.