Вот пример кода на Turbo Pascal для сортировки отрицательных элементов массива с помощью прямого выбора:
program NegativeSelectionSort; const MAX_SIZE = 100; var arr: array[1..MAX_SIZE] of integer; n, i, j, minIdx, temp: integer; begin writeln('Enter the size of the array: '); readln(n); writeln('Enter the elements of the array: '); for i := 1 to n do readln(arr[i]); for i := 1 to n do begin if arr[i] < 0 then begin minIdx := i; for j := i+1 to n do begin if (arr[j] < 0) and (arr[j] < arr[minIdx]) then minIdx := j; end; // Swap the elements temp := arr[i]; arr[i] := arr[minIdx]; arr[minIdx] := temp; end; end; writeln('Sorted array with negative elements at the beginning: '); for i := 1 to n do write(arr[i], ' '); end.
Этот код сначала запрашивает у пользователя размер массива и его элементы, а затем сортирует отрицательные элементы массива с помощью прямого выбора. Приложение выводит отсортированный массив с отрицательными элементами в начале.
Вот пример кода на Turbo Pascal для сортировки отрицательных элементов массива с помощью прямого выбора:
program NegativeSelectionSort;const
MAX_SIZE = 100;
var
arr: array[1..MAX_SIZE] of integer;
n, i, j, minIdx, temp: integer;
begin
writeln('Enter the size of the array: ');
readln(n);
writeln('Enter the elements of the array: ');
for i := 1 to n do
readln(arr[i]);
for i := 1 to n do
begin
if arr[i] < 0 then
begin
minIdx := i;
for j := i+1 to n do
begin
if (arr[j] < 0) and (arr[j] < arr[minIdx]) then
minIdx := j;
end;
// Swap the elements
temp := arr[i];
arr[i] := arr[minIdx];
arr[minIdx] := temp;
end;
end;
writeln('Sorted array with negative elements at the beginning: ');
for i := 1 to n do
write(arr[i], ' ');
end.
Этот код сначала запрашивает у пользователя размер массива и его элементы, а затем сортирует отрицательные элементы массива с помощью прямого выбора. Приложение выводит отсортированный массив с отрицательными элементами в начале.