Задан массив X (N). Добавить массив С(М). Выполнить сортировку разделением. В полученном массиве поменяйте местами наибольший и наименьший элементы — Pascal(Паскаль)

uses crt;
const max=100;
var x,c:array[1..max] of integer;
    n,m,i,j,k,imn,imx:byte;
    b:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива X до ',max div 20,' n=');
readln(n);
until n in [1..max div 2];
writeln('Исходный массив X:');
for i:=1 to n do
 begin
  x[i]:=random(20)-9;
  write(x[i]:3);
 end;
writeln;
writeln;
repeat
write('Размер массива C до ',max div 20,' m=');
readln(m);
until m in [1..max div 2];
writeln('Исходный массив C:');
for i:=1 to m do
 begin
  c[i]:=random(20)-9;
  write(c[i]:3);
 end;
writeln;
writeln;
for i:=1 to m do
 begin
  n:=n+1;
  x[n]:=c[i];
 end;
writeln('Объединение массивов X+C');
for i:=1 to n do
write(x[i]:3);
writeln;
writeln;
for i:=2 to n do
 begin
  b:=x[i];
  j:=1;
  while b>x[j] do
  inc(j);
  for k:=i-1 downto j do
  x[k+1]:=x[k];
  x[j]:=b;
 end;
writeln('Отсортированный массив:');
for i:=1 to n do
write(x[i]:3);
writeln;
writeln;
imn:=1;
imx:=1;
for i:=1 to n do
 begin
  if x[i]<x[imn] then imn:=i;
  if x[i]>x[imx] then imx:=i;
 end;
writeln('Минимальный элемент =',x[imn],' индекс=',imn);
writeln('Максимальный элемент=',x[imx],' индекс=',imx);
writeln;
b:=x[imn];
x[imn]:=x[imx];
x[imx]:=b;
writeln('Обмен максимального и минимального:');
for i:=1 to n do
write(x[i],' ');
readln
end.

Leave a Comment

83 − 80 =