Задана последовательность a1. ап вещественных чисел. Округлить каждое до целого...

0 голосов
34 просмотров

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


Информатика (29 баллов) | 34 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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.

   

(6.4k баллов)