Сортировку включением заменить на обменную - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Ребят. У меня есть задача, выполненная сортировкой включения, но мне надо сделать, чтобы в ней была сорировка обменом. поменяйте пожалуйста сортировки) буду очень благодарна! Условие: задан массив AX (N). Добавить массив С(К). Выполнить обменную сортировку. В полученном массиве положительные элементы уменьшите вдвое, а отрицательные замените на значения их индексов.

Решение задачи: «Сортировку включением заменить на обменную»

textual
Листинг программы
Program Practica9;
uses crt;
const n=4;
      k=5;
var ax,c: array [1..n+k] of real;
    m,i,j,p: integer;
    x:real;
begin
  clrscr;
  randomize;
  writeln('Ishodnyi massiv AX');
  for i:=1 to n do
   begin
    ax[i]:=-5+10*random;
    write(ax[i]:5:1)
   end;
  writeln;
  writeln('Ishodnyi massiv C');
  for i:=1 to k do
   begin
    c[i]:=-5+10*random;
    write(c[i]:5:1)
   end;
  writeln;
  m:=n;
  for i:=1 to k do
   begin
    m:=m+1;
    ax[m]:=c[i]
   end;
  Writeln('Obedinennyi A+C: ');
  for i:=1 to m do
  Write(ax[i]:5:1);
  Writeln;
  for i:=1 to m-1 do
  for j:=1 to m-1 do
  if ax[j]>ax[j+1] then
begin
x:=ax[j+1];
ax[j+1]:=ax[j];
ax[j]:=x;
end;
  writeln('Otsortirovannyi massiv:');
  for i:=1 to m do
  Write(ax[i]:5:1);
  writeln;
  writeln('Novyi massiv:');
  for i:=1 to m do
   begin
    if ax[i]>0 then ax[i]:=ax[i]/2
    else if ax[i]<0 then ax[i]:=i;
    write(ax[i]:5:1)
   end;
  writeln;
  readln;
end.

Объяснение кода листинга программы

  1. В первой части кода создается массив ax и массив c.
  2. Затем в цикле for i:=1 до n+k происходит инициализация элементов массива ax.
  3. Далее в цикле for i:=1 до k происходит инициализация элементов массива c.
  4. После этого переменная m устанавливается равной n.
  5. Затем в цикле for i:=1 до k происходит операция сложения элементов массива ax и c.
  6. После этого в цикле for i:=1 до m-1 происходит сравнение элементов массива ax.
  7. Если текущий элемент больше следующего, то происходит обмен элементов.
  8. Затем в цикле for i:=1 до m-1 происходит запись отсортированных элементов массива ax в новый массив.
  9. В конце программа выводит на экран отсортированный массив ax.
  10. Затем программа выводит на экран новый массив c.
  11. В конце программа выводит на экран отсортированный массив ax после обмена.
  12. И, наконец, программа выводит на экран сообщение Novyi massiv:.
  13. После этого программа выводит на экран отсортированный массив ax.
  14. И, наконец, программа выводит на экран сообщение Novyi massiv:.
  15. Конец программы.

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы