Определить местоположение минимального элемента, кратного 3 - Pascal ABC

Формулировка задачи:

Массив заполняется значениями от -10 до 10 ,кол-во элементов задаётся с клавиатуры. Определить местоположение минимального элемента,кратного 3 или вывести сообщение о отсутствии такого. Программа написана, но не всегда правильно работает,помогите исправить,пожалуйста.
program abc;
var a:array [1..1000] of integer;
k,n,i,min:integer;
begin
writeln('введите количество элементов');
readln(n);
k:=0;
min:=10;
writeln('исходный:');
for i:=1 to n do begin
a[i]:=random(20)-10;
write(a[i]:4);
end;
writeln;
for i:= 1 to n do begin
if (a[i]<min) and(a[i]mod 3=0)
then
k:=i;
min:=a[i];
end;
if k=0 then writeln (' нет такого числа')
else writeln('  номер наименьшего кратного 3= ',k);
end.

Код к задаче: «Определить местоположение минимального элемента, кратного 3 - Pascal ABC»

textual
program abc;
var a:array [1..1000] of integer;
    k,n,i,min:integer;
begin
write('введите количество элементов n=');
readln(n);
writeln('исходный:');
k:=0;
for i:=1 to n do
 begin
  a[i]:=-10+random(21);
  write(a[i]:4);
  if a[i] mod 3=0 then
   begin
    if k=0 then
     begin
      min:=i;
      k:=1;
     end
    else if a[i]<a[min] then min:=i;
   end;
 end;
writeln;
if k=0 then writeln ('Числа, кратного 3 нет')
else writeln('Номер наименьшего кратного 3=',min,' его значение=',a[min] );
end.

10   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ