Уважаемые гуру. помогите пожалуйста. дали задачку на делфи "удалить из массива заданный элемент" подскажите пожалуйста как ее написать :(( неполучается никак.

Комментарии
08.10.2008 в 20:51

я чет никак не пойму как это должно выглядеть в коде(
08.10.2008 в 21:03

Что наша жизнь - игра!
А как элемент задан? Указана его позиция в массиве или значение?
08.10.2008 в 21:06

в том то и дело что нет. ничег не указано. просто такое задание дал препод "удалить эл-т из м-ва". вот и затупил пипец
08.10.2008 в 21:14

А ты уже научился заряжать левой ногой свой телефон?
ну как то же его задают.
Если задают индекс то бери и удаляй
Если задают значение то удаляй из масива все элементы с этим значением
08.10.2008 в 21:25

Что наша жизнь - игра!
Тупой у вас какой-то препод... Условий мало для задачи.

Ну если, по позиции, то тогда совсем все просто.
Если по значению, то напиши процедурку типа:

procedure Del_Var (val: integer);
var
mass : array[0..10] of integer = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
success: boolean:=false;
begin
for i:=0 to 10 do
begin
if mass[i] = val then
begin
mass[i] := nil;
success:=true;
end;
end;
if success then {напечатать типа "Ура нашли"}
else {напечатать "=("};
end;
08.10.2008 в 21:25

нада задавать определенный эл-т в массиве? и как?и как его удалить? =)
08.10.2008 в 21:28

ага...препод не тупой просто тормоз )))
пасиба за процедуру...ща попробую)
08.10.2008 в 21:34

Псих
если n - конечный элемент массива a, а d - что надо удалить (индекс), то не это ли имеется в виду?

for i:=d to n-1 do a[i]:=a[i+1];
a[n]:=0;
dec(n);

08.10.2008 в 21:37

как задать эл-т в массиве?)))
08.10.2008 в 21:41

Псих
> как задать эл-т в массиве?)))
ArrayName[index]:=Value;
08.10.2008 в 21:45

пасиба. ща неполучится, ще спрошу:))
08.10.2008 в 22:19

чета небыть мне программистом походу)4 занятия прошло а как написать эту прогу невдуплюсь((
08.10.2008 в 22:38

ктонибудь составьте код программы плз.буду очень благодарен!
08.10.2008 в 23:01

Псих
ну.. могу составить. Ток пишу тут, без проверок на ошибки, возможно всё)

Const l=10;
Var a : array [0..l] of integer;
i, d, n : integer;
BEGIN
n:=l;
for i:=0 to n do a[i]:=random(100);
for i:=0 to n do Write(a[i], ' ');
WriteLn;
Write('Удалить элемент номер: ');
ReadLn(d);
for i:=d to n-1 do a[i]:=a[i+1];
a[n]:=0;
dec(n);
for i:=0 to n do Write(a[i], ' ');
ReadLn;
END.
08.10.2008 в 23:04

огромное! спасибо!щас посмотрю и отлажу если что нитак)))