Предмет: Информатика,
автор: afshdhurgrfy367
Turbo pascal или Pascal abc. Сортировать отрицательные элементы массива с помощью прямого выбора.
Ответы
Автор ответа:
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.
Аноним:
А Вы уверены, что это сортировка прямым выбором? )))
да
Это обычная пузырьковая, т.е ОБМЕННАЯ сортировка, а никак не прямой выбор.
Но если автора вопроса все устраивает, какие проблемы?
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.
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.
Похожие вопросы
Предмет: Математика,
автор: darinadnr861
Предмет: Математика,
автор: tanavolkova1102011
Предмет: Английский язык,
автор: vasilisa03152011
Предмет: Физика,
автор: Rekki888
Предмет: Математика,
автор: FlowerLs