Паскаль. Делители

program Ex;

var
  i,  m, k: integer;
  a: array [11275..16328] of integer;
Begin
for k:=11275 to 16328 do

  m := a[k];
  i := 1;
  while i <= m do
  begin
    if a[k] mod i = 0 then
    begin
      write(i, ' ');
      m := (a[k] div i);
    end;
    i := i + 1;
  end;
  if i=5 then 
  write(a[k]);
end.

Программа, которая ищет среди целых чисел, принадлежащих числовому
отрезку [11275; 16328], числа, имеющие ровно 5 различных делителей. Выведите эти делители для каждого найденного числа в порядке возрастания.
Подскажите, пожалуйста, что не так в программе.

Так а как оно проявляется, почему решили, что что-то не так?

@AlexP В окне вывода нет никаких чисел, а, наверное, должны быть

Тут и дальше надо либо присвоить что-то в a[k], либо использовать просто k.
Не понял для чего тут массив вообще.

@AlexP А как без массива сделать?

Так а для чего он? Он ж не используется вообще, туда ничего не записано. И на каждой итерации нужно только одно число.

image

Вы операторные скобки не забыли? У вас сейчас в цикле выполняется единственная операция — я её выделил в ппрямоугольник.

@Вадим_Мошев Не работает и со скобками…

операторные скобки это begin ......... end

@AlexP да, но результата нет

Так еще надо как минимум либо убрать массив (заменив на k), либо заполнять его (непонятно зачем).