program akb;
procedure DeleteElem<T>(a: array of T; k: word);
begin
for var i := k - 1 to length(a) - 2 do
a[i] := a[i + 1];
SetLength(a, length(a) - 1);
for var i := 0 to length(a) - 1 do
write(a[i] + ' ');
end;
var
text:string;
k:integer;
begin
write ('Введите текст: ');
readln(text);
var arr := text.Split(' '); // Строка разбита на слова по пробелам
//writeln(arr[0], ' ', arr[3]); // Слово11 Слово22
write ('Введите элемент который нужно удалить: ');
readln(k);
writeln('Массив после обработки: ');
DeleteElem(arr, k);
end.

program split1;
var
InputStr, AWord: string;
i, j, SpaceCount, LastPos, LastIndex: integer;
a: array of string;
DelItems: array of integer;
begin
InputStr := '1 2 3 4 5 6 7 8 9 0';
WriteLn(InputStr);
//Что-то для удаления
SetLength(DelItems, 3);
DelItems[0] := 2;
DelItems[1] := 5;
DelItems[2] := 7;
//Очистим лишние пробелы по краям
InputStr := Trim(InputStr);
for i := 1 to Length(InputStr) do
if InputStr[i] = ' ' then Inc(SpaceCount);
//Размер массива
SetLength(a, SpaceCount + 1);
//Очистка
LastPos := 1;
LastIndex := 0;
AWord := '';
//По циклу
for i := 1 to Length(InputStr) do
begin
if InputStr[i] <> ' ' then
AWord := AWord + InputStr[i];
if (InputStr[i] = ' ') or ((i + 1) > Length(InputStr)) then
begin
if AWord <> '' then
begin
a[LastIndex] := AWord;
Inc(LastIndex);
LastPos := i;
AWord := '';
end;
end;
end;
//Удаляем
for i := 0 to Length(a) - 1 do
for j := 0 to Length(DelItems) - 1 do
if i = DelItems[j] then
a[i] := '';
//Выводим
for i := 0 to Length(a) - 1 do
if a[i] <> '' then
write(a[i], ' ');
end.