profile
Опубликовано 5 лет назад по предмету Информатика от DmitryOrlovxDD

Задана последовательность a1. ап вещественных чисел. Округлить каждое до целого ирасположить по убыванию. Вывести исходный и полученный массив. Вставить в него число Р.сохраняя упорядоченность. Pascal abc

  1. Ответ
    Ответ дан fedrfedr

    var

     A: array [1..11] of Real;

     i, j, aj, ai: Integer;

     amax, atmp, P: Real;

    begin

     Randomize;

     WriteLn ('Исходный массив:');

     for i := Low (A) to High (A) - 1 do begin

       A [i] := Random * 100;

       Write (A [i]:5:2, ' ');

     end;

     for i := Low (A) to High (A) - 1 do begin

       A [i] := Round (A [i]);

     end;

     for i := Low (A) to High (A) - 1 do begin

       amax := A [i];

       aj := i;

       for j := i to High (A) do begin

         if A [j] > amax then begin

           amax := A [j];

           aj := j;

         end;

       end;

       if i <> aj then begin

         atmp := A [i];

         A [i] := A [aj];

         A [aj] := atmp;

       end;

     end;

     WriteLn;

     WriteLn ('Полученный массив:');

     for i := Low (A) to High (A) - 1 do begin

       Write (A [i]:5:2, ' ');

     end;

     WriteLn;

     Write ('Введите число Р: ');

     Read (P);

     ai := High (A);

     for i := Low (A) to High (A) - 1 do begin

       if P > A [i] then begin

         ai := i;

         Break;

       end;

     end;

     for i := High (A) downto ai + 1 do

       A [i] := A [i - 1];

     A [ai] := P;

     WriteLn ('Массив после вставки:');

     for i := Low (A) to High (A) do begin

       Write (A [i]:5:2, ' ');

     end;

    end.