Переставить элементы в массиве таким образом , чтобы до некоторого индекса в массиве стояли числа, меньшие или равные R, а после этого индекса — большие или равные R . В качестве R взять начальное значение первого элемента массива — Pascal(Паскаль)

uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,j,k:byte;
    r,x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
for i:=1 to n do
 begin
  a[i]:=random(50);
  write(a[i]:4);
 end;
writeln;
writeln;
{<=R вперед}
r:=a[1];
writeln('R=',r);
writeln;
k:=0;
for i:=1 to n do
if a[i]<r then
  begin
    k:=k+1;
    x:=a[i];
    for j:=i downto k+1 do
    a[j]:=a[j-1];
    a[k]:=x;
  end;
writeln('Меньше или равно ',r,' вперед:');
for i:=1 to n do
write(a[i]:4);
readln
end.

Leave a Comment

9 + 1 =