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

0 голосов
83 просмотров

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


спросил от (59 баллов) в категории Информатика

1 Ответ

0 голосов
ответил от Одаренный (3.9k баллов)

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]

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.

оставил комментарий от БОГ (678k баллов)

А Вы уверены, что это сортировка прямым выбором? )))

оставил комментарий от (59 баллов)

да

оставил комментарий от БОГ (678k баллов)

Это обычная пузырьковая, т.е ОБМЕННАЯ сортировка, а никак не прямой выбор.

оставил комментарий от БОГ (678k баллов)

Но если автора вопроса все устраивает, какие проблемы?

оставил комментарий от Одаренный (3.9k баллов)

const n=10;var i,j,v,min:integer;a:array [1..n]of integer;beginwrite (' Исходный массив: ');for i:=1 to n dobegina[i]:=random(21)-10;write(a[i]:4);end;writeln;for i:=1 to n-1 doif a[i]<0 thenbeginmin:=i;for j:=i+1 to n doif a[j] < a[min] then min:=j;v:=a[i];a[i]:=a[min];a[min]:=v;end;write ('Преобразованный массив: ');for i:=1 to n dowrite(a[i]:4);end.

...