Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal]удаление из массива посл. елемента


Автор: Sven777 15.7.2007, 12:43
Определить максимальный и минимальный элементы среди положительных нечетных елементов целочисленного массива Х[x1..xn].Удалить из массива все нулевые элементы.

Задачу вроде бы решил, но небольшая проблема возникла с удалением элементов из массива.
Не знаю как удалять последний элемент

Код

k:=0;
j:=1;
while j<=n do
if x[j]=0 then Begin
    k:=k+1;
    for i:=j to (n-k) do
    x[i]:=x[i+1];
end
else
j:=j+1;
for i:=1 to (n-k) do
writeln('x[',i,']=',x[i]);    


Программа удаляет нули,но если ноль является последним елементом, то  элемент не удаляется. 

Автор: volvo877 15.7.2007, 13:23
Код

k:=0;
j:=1;
while j<=(n - k) do { <--- Внимательно смотрим }
if x[j]=0 then Begin
    k:=k+1;
    for i:=j to (n-k) do
    x[i]:=x[i+1];
end
else
j:=j+1;
...

Автор: Sven777 16.7.2007, 23:31
volvo877, спасибо, что помог!Этот вопрост долго меня мучил.  

Автор: Guedda 17.7.2007, 08:47

M
Guedda
Модератор: Не забываем отмечать вопрос решенным!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)