Информатика 1 год назад katy0865

ПОМОГИТЕ ПОЖАЛУЙСТА!!!!
Дан линейный массив, содержащий n элементов. С клавиатуры вводится число k. Составьте программу, которая элементы большие k оставит в начале массива, а элементы меньшие k поставит в конец массива.

Например, дан массив чисел: 4 10 34 26 13 41 6 18 32 и число k=15, то преобразованный массив должен быть таким:

34 26 41 18 32 4 10 13 6

Ответ
1
raf1O5

program raf105;

const

 n = 9;

var

 a,b1,b2:array[1..n] of integer;

 k,i,j,c1,c2:integer;

begin

write('Введите число k: ');

readln(k);

writeln('Заполните массив:');

for i:=1 to n do

 readln(a[i]);

for i:=1 to n do

begin

 if a[i] > k

   then begin

     c1:= c1 + 1;

     b1[c1]:= a[i];

   end;

 if a[i] < k

   then begin

     c2:= c2 + 1;

     b2[c2]:= a[i];

   end;

end;

for i:=1 to c1 do

 a[i]:=b1[i];

for i:=c1+1 to c2+c1 do

 a[i]:=b2[i-c1];

write('Вывод: ');

for i:=1 to n do

 write(a[i],' ');

end.

PascalABC 3.4.2

katy0865: после с1
raf1O5: Перепишите эту строку сюда
katy0865: b1[c1]:=a[i]
raf1O5: Перепишите название ошибки
raf1O5: Внизу выводится красный круг с белым крестом. Там вся информация о ошибке
katy0865: ошибка 0
katy0865: выход за границы
katy0865: диапазона изменения индекса
raf1O5: Вы не изменяли программу?
raf1O5: Если вы изменили программу, то скопируйте и вставьте сюда изменённый вариант