Оригинал статьи: http://www.cyberforum.ru/pascal/thread133142.html
Благодарен всем авторам, которые внесли свой вклад в сборку кода.
Удалить все нулевые элементы из введенного пользователем массива.
var a:array[1..100] of integer; i,m,n:integer; begin Write('Количество элементов массива='); readln(n); writeln('Оригинал:'); for i := 1 to n do begin a[i] := random(3); write(a[i]:3); end; Writeln; m:=0; for i:=1 to n do if (a[i]=0) then inc(m) else a[i-m]:=a[i]; dec(n,m); for i:=1 to n do write(a[i]:3); end.
Вставка элемента в одномерный массив
var a:array[1..100] of integer; i,x,n,nom:integer; begin Write('Количество элементов массива='); readln(n); writeln('Оригинал:'); for i := 1 to n do begin a[i] := random(10); write(a[i]:3); end; Writeln; write('Введите число, которое нужно вставить='); readln(x); write('Введите номер ячейки, в которую его надо поместить='); readln(nom); writeln('Массив'); for i:=1 to n do write(a[i],' '); writeln; writeln('После вставки'); for i:=n+1 downto nom+1 do a[i]:=a[i-1]; {сдвигаем все элементы вправо} a[nom]:=x; {вставляем число} for i:=1 to n+1 do write(a[i]:3); readln end.