Информатика, опубликовано 2018-08-22 22:02:54 by Гость
Пожалуйста, помогите составить программу в паскале. В массиве X(N) каждый элемент равен 0, 1 или 2. Переставить элементы массива так, чтобы сначала располагались все единицы, затем все двойки и, наконец, все нули (дополнительного массива не заводить).
Ответ оставил Гость
Const
n=10;
var
a:array[1..n]of integer;
i,j,buf:integer;
begin
for i:=1 to n do
begin
a[i]:=random(3);
write(a[i]:4);
end;
{сортирую по возрастанию}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i] begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
{пересылаю нули в конец масива}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]=0 then
begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
for i:=1 to n do
write(a[i]:4);
end.
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.
