1. В "реальном мире" это решается примерно так:// PascalABC.NET 3.1, сборка 1198 от 11.03.2016begin var a:=ArrRandom(ReadInteger('n='),0,2); a.Println; a.Sorted.Printlnend.
Тестовое решение:n= 151 2 0 2 2 0 2 0 2 0 0 1 0 0 20 0 0 0 0 0 0 1 1 2 2 2 2 2 2
2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):// PascalABC.NET 3.1, сборка 1198 от 11.03.2016const nn=100;var i,j,n,t:integer; a:array[1..nn] of integer;begin Write('n='); Read(n); Randomize; for i:=1 to n do begin a[i]:=Random(3); Write(a[i],' ') end; Writeln; for i:=1 to n-1 do for j:=1 to n-1 do if a[j]>a[j+1] then begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end; for i:=1 to n do Write(a[i],' '); Writeln;end.
Тестовое решение:n=150 1 1 0 2 1 0 2 1 2 1 0 0 2 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2