Shrek, к сожалению, Ваша программа не отрабатывает ситуации типа "или все, если их несколько". Поэтому я бы предложил так:
вместо
Код:
begin
max:=x[i];
m:=i;
end;
end;
x[m]:=0;
сделать так:
Код:
max:=x[i];
end;
for i:=1 to n do
if x[i]=max then x[i]:=0;