Опубликовано 03.01.2018 по предмету Информатика от Гость

Пожалуйста, помогите составить программу в паскале. В массиве 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.

Не нашел нужный ответ?

Если ответ по предмету Информатика отсутствует или он оказался неправильным, то попробуй воспользоваться поиском других ответов во всей базе сайта.


Найти другие ответы
Самые новые вопросы