Отсортировать отрицательные элементы массива с помощью простого выбора - Pascal
Формулировка задачи:
Здравствуйте, помогите пожалуйста с решением такой задачи, условие короткое:
Отсортировать отрицательные элементы массива с помощью простого выбора.
Решение задачи: «Отсортировать отрицательные элементы массива с помощью простого выбора»
textual
Листинг программы
program pr;
var
i,n,j,t:integer;
a:array [1..100]of integer;
begin
writeln('Введите размер массива');
readln(n);
for i:=1 to n do begin
a[i]:=random(21)-10;
write(a[i]:3);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if (a[i]<0) and (a[j]<0) then
if a[i] < a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
writeln;
for i:=1 to n do
write(a[i]:4);
end.
Объяснение кода листинга программы
- Программа начинается с объявления переменных: i, n, j, t - целочисленные; a - массив из 100 целых чисел.
- Выводится сообщение для ввода размера массива.
- Считывается размер массива от пользователя.
- Для каждого элемента массива (от 1 до n) выполняется следующая последовательность действий:
- Вычисляется случайное число от -10 до 10 (включительно) и присваивается переменной a[i].
- Выводится значение a[i].
- Для каждой пары соседних элементов массива (от 1 до n-1, начиная с 1 и заканчивая n-1) выполняется следующая последовательность действий:
- Проверяется условие: оба элемента отрицательные и меньше друг друга.
- Если условие истинно, то происходит обмен значениями элементов: t присваивается значение a[i], a[i] присваивается значение a[j], а a[j] присваивается значение t.
- Выводится значение a[i].
- Для каждого элемента массива (от 1 до n) выводится значение a[i].