Удаление элементов одномерного массива

Задача: 

Допустим, имеется одномерный массив, содержащий числа от 0 до 49 включительно. Требуется исключить из него все элементы, значения которых меньше 15.

Алгоритм решения задачи: 

Присваивание значение n переменной m требуется, т.к. n - константа и не может быть изменена. Поскольку при "просмотре" массива в цикле while некоторые элементы будут удаляться, то значение m, обозначающее длину массива, будет уменьшаться.

Если очередной элемент не удаляется, то переходим к просмотру следующего элемента (i := i + 1) и не уменьшаем массив (m не меняется).

Программа на языке Паскаль: 

const n = 20;
 
var
    arr: array[1..n] of integer;
    i, j, m: integer;
 
begin
    randomize;
    for i := 1 to n do begin
        arr[i] := random(50);
        write(arr[i]:4);
    end;
 
    m := n;
    i := 1;
    while i <= m do
        if arr[i] < 15 then begin
            for j := i to m - 1 do
                arr[j] := arr[j+1];
            m := m - 1
        end
        else
            i := i + 1;
 
    for i:= 1 to m do
        write(arr[i]:4);
 
readln
end.

Комментарии

а

Помогите плииз, нужно написать рабочую часть программы ( с begin до end) в которой при встрече в массиве одинаковых чисел он удаляет 1 из них, в итоге из всех чисел не должно остаться одинаковых

без повторов

нужно два массива

b[1]:=a[1];
	cop:=1;
	for i:=1 to n do
		begin
			f:=true;
			for j:=1 to cop do
				if a[i]=b[j] then f:=false;
			if f=true then begin
							   cop:=cop+1;
							   b[cop]:=a[i];
						   end
		end;
	for i:=1 to cop do
		write (b[i],' ');
	writeln;

Одномерный массив

Помогите пожалуйста решить задачу(
Из массива удалить элементы,стоящие после максимального и имеющие значение меньше среднего арифметического всех элементов массива.
Пример: из массива А(5):8 6 9 4 5 должен получиться массив А(3): 8 6 9 (среднее арифметическое четных элементов = (8+6+9+4+5)/5=6.4)

у меня он выводит числа

у меня он выводит числа 5,1,11,13...то есть меньше 15 все равно выводятся

С удалением чисел из

С удалением чисел из массива

program DeleteIzodn;
 
const n=25;
 
var
    arr: array of integer;
    i, j, m: integer;
 
begin
SetLength(arr, n);
 
    for i := 0 to n-1 do begin
        arr[i] := random(200)-100;
        write(arr[i]:4);
    end;
 writeln;
 
    i := 0;
    m := n-1;
 
    while i <= m do
        if arr[i] mod 3 = 0 then begin
            for j := i to m - 1 do
                arr[j] := arr[j+1];
            m := m - 1
        end
        else
            i := i + 1;
 
 writeln;
 SetLength(arr, M+1);
 for i:= 0 to m do
        write(arr[i]:4);
 
end.