Имеем данные о росте учеников группы, упорядоченные по возрастанию, записанные в массив. Пришли 2 новых ученика ростом 164 и 178. Получить аналогичный массив, учитывая рост новых учеников. — Pascal(Паскаль)

uses crt;
const max=30;
var a:array[1..max] of byte;
    n,i,j,k,imx:byte;
    b:integer;
begin
clrscr;
randomize;
repeat
write('Количество учеников до ',max,'  n=');
readln(n);
until n in [1..max];
for i:=1 to n do
a[i]:=random(50)+140;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
 begin
  b:=a[i];
  a[i]:=a[j];
  a[j]:=b;
 end;
writeln('Исходный рост:');
for i:=1 to n do
write(a[i]:4);
writeln;
writeln;
b:=164;
n:=n+1;
if b>=a[n-1] then a[n]:=b
else
 begin
  for i:=1 to n-1 do
   if a[i]>=b then
    begin
     for j:=n downto i+1 do
     a[j]:=a[j-1];
     a[i]:=b;
     break;
    end;
 end;
b:=178;
n:=n+1;
if b>=a[n-1] then a[n]:=b
else
 begin
  for i:=1 to n-1 do
   if a[i]>=b then
    begin
     for j:=n downto i+1 do
     a[j]:=a[j-1];
     a[i]:=b;
     break;
    end;
 end;
writeln('Массив после вставки 164 и 178:');
for i:=1 to n do
write(a[i]:4);
readln
end.

Leave a Comment

65 − = 55