Сортировку включением заменить на обменную - 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.
Объяснение кода листинга программы
- В первой части кода создается массив ax и массив c.
- Затем в цикле for i:=1 до n+k происходит инициализация элементов массива ax.
- Далее в цикле for i:=1 до k происходит инициализация элементов массива c.
- После этого переменная m устанавливается равной n.
- Затем в цикле for i:=1 до k происходит операция сложения элементов массива ax и c.
- После этого в цикле for i:=1 до m-1 происходит сравнение элементов массива ax.
- Если текущий элемент больше следующего, то происходит обмен элементов.
- Затем в цикле for i:=1 до m-1 происходит запись отсортированных элементов массива ax в новый массив.
- В конце программа выводит на экран отсортированный массив ax.
- Затем программа выводит на экран новый массив c.
- В конце программа выводит на экран отсортированный массив ax после обмена.
- И, наконец, программа выводит на экран сообщение
Novyi massiv:
. - После этого программа выводит на экран отсортированный массив ax.
- И, наконец, программа выводит на экран сообщение
Novyi massiv:
. - Конец программы.