Предмет: Информатика, автор: afshdhurgrfy367

Turbo pascal или Pascal abc. Сортировать отрицательные элементы массива с помощью прямого выбора.

Ответы

Автор ответа: elenaklon
1

const n=10;

var i,j,v:integer;

a:array [1..n]of integer;

begin

write ('       Исходный массив: ');

for i:=1 to n do begin

a[i]:=random(21)-10;

write(a[i]:4);

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

v:=a[i];

a[i]:=a[j];

a[j]:=v;

end;

writeln;

write ('Преобразованный массив: ');

for i:=1 to n do

write(a[i]:4);

end.


Аноним: А Вы уверены, что это сортировка прямым выбором? )))
afshdhurgrfy367: да
Аноним: Это обычная пузырьковая, т.е ОБМЕННАЯ сортировка, а никак не прямой выбор.
Аноним: Но если автора вопроса все устраивает, какие проблемы?
elenaklon: const n=10;
var i,j,v,min:integer;
a:array [1..n]of integer;
begin
write (' Исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(21)-10;
write(a[i]:4);
end;
writeln;
for i:=1 to n-1 do
if a[i]<0 then
begin
min:=i;
for j:=i+1 to n do
if a[j] < a[min] then min:=j;
v:=a[i];
a[i]:=a[min];
a[min]:=v;
end;
write ('Преобразованный массив: ');
for i:=1 to n do
write(a[i]:4);
end.
Похожие вопросы
Предмет: Геометрия, автор: matvey657