Разделить массив на две части, поместив в первую элементы, большие среднего арифметического элементов массива, а во вторую — меньшие (части не сортировать).
спросил 18 Дек, 18 от cevka в категории школьный раздел

решение вопроса

+7
uses crt;
const nmax=100;
var a:array[1..nmax]of integer;
    n,i,k,j,x:integer;
    sr:real;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходный массив:');
sr:=0;
for i:=1 to n do
   begin
     a[i]:=random(20);
     write(a[i]:3);
     sr:=sr+a[i];
   end;
writeln;
writeln;
sr:=sr/n;
writeln('Среднее=',sr:0:1);
writeln;
k:=0;
for i:=1 to n do
if a[i]>sr 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('Перестановка:');
for i:=1 to n do
write(a[i],' ');
readln
end.
ответил 18 Дек, 18 от Olenka
Получайте быстрые ответы на все возникшие вопросы, делитесь знаниями и опытом, задавайте интересные вопросы и получайте качественные ответы.
поделиться знаниями или
запомнить страничку