﻿PROGRAM A12;
const
    max_idx = 9;
type
    vector = array[1..max_idx] of real;
var
    vt:vector;
    i,j,k,l:byte;
    ar, br, cr, max:real;

BEGIN
writeln('Начальный массив из ', max_idx, ' элементов');
randomize();

max := 0;// максимальное число
for i:=1 to max_idx do begin
  vt[i] := random() * random(-512,512); //random() * 
  writeln(vt[i], ' ');
  if (vt[i]>max) then
    max := vt[i];
end;

writeln(' ');
writeln('1. Найти количество элементов массива, меньших величины С, введенной с клавиатуры.');
write('Введите число C : '); readln(ar);

j:=0;// количество элементов 
for i:=1 to max_idx do 
  if (vt[i]<ar) then
    j := j + 1;
writeln(j, ' элементов меньше ', ar);
writeln(' ');

writeln('2. Найти сумму целых частей элементов массива, расположенных');
writeln('после последнего отрицательного элемента.');
j:=1;//последний отрицательный элемент
for i:=1 to max_idx do 
  if (vt[i]<0) then 
    j := i;

// если последний отрицательный элемент не является последним в массиве
if (j<max_idx) then begin
  ar := 0;//сумма           
  for i:=j+1 to max_idx do
    ar := ar + trunc(vt[i]);
  writeln('Сумма целых частей : ', ar);
end else
  writeln('Последний элемент массива - отрицательное число');

writeln(' ');
writeln('3. Преобразовать массив таким образом, чтобы сначала располагались все элементы,');
writeln(' отличающиеся от максимального не более чем на 20%, а потом — все остальные.');

cr := max * 0.2; // 20%
ar := max - cr;// -20%
br := max + cr; // +20%
writeln('-20%=(', ar, ') максимум=(',max, ') +20%=(', br,')'); 
j := 1; 
for i:=2 to max_idx do 
  //если число в пределах то меняем местами 
  if (vt[i]>ar) and (vt[i]<br) then begin
    cr := vt[j];
    vt[j] := vt[i];
    vt[i] := cr;
    j := j+1;
  end;

writeln(' ');
writeln('Преобразованный массив');
for i:=1 to max_idx do 
  writeln(vt[i], ' ');

END.