// PascalABC.NET 3.0, сборка 1128 const nmax=100; var n,i,j,nn,nz,np,t:integer; a,an,az,ap:array[1..nmax] of integer; begin // формируем массив и выводим его Write('Количество элементов в массиве: '); Read(n); for i:=1 to n do begin a[i]:=Random(11)-5; Write(a[i],' ') end; Writeln; // разбиваем массив на три подмассива nn:=0; nz:=0; np:=0; for i:=1 to n do if a[i]<0 then begin nn:=nn+1; an[nn]:=a[i] end else if a[i]=0 then begin nz:=nz+1; az[nz]:=a[i] end else begin np:=np+1; ap[np]:=a[i] end; // сортируем массив с отрицательными элементами по убыванию for i:=1 to nn-1 do for j:=1 to nn-1 do if an[j]<an[j+1] then begin t:=an[j]; an[j]:=an[j+1]; an[j+1]:=t end; // сортируем массив с положительными элементами по возрастанию for i:=1 to np-1 do for j:=1 to np-1 do if ap[j]>ap[j+1] then begin t:=ap[j]; ap[j]:=ap[j+1]; ap[j+1]:=t end; // формируем новое содержимое массива a i:=0; for j:=1 to nz do begin i:=i+1; a[i]:=az[j] end; for j:=1 to np do begin i:=i+1; a[i]:=ap[j] end; for j:=1 to nn do begin i:=i+1; a[i]:=an[j] end; // вывод результата for i:=1 to n do Write(a[i],' '); Writeln end.
using System;
namespace App {
class Program {
static void Main(string[] args) {
int n = Convert.ToInt32(Console.ReadLine());
int[] a = new int[n];
int[] b = new int[0];
Random rand = new Random();
for (int i = 0; i < n; i++) {
a[i] = rand.Next(0, 11);
Console.Write(a[i] + " ");
}
int num= Int32.MaxValue;
Array.Sort(a); Console.WriteLine();
for (int i = 0; i < n; i++) {
if (a[i] != num) {
int c = 0;
for (int j = i; j < n; j++) if (a[i] == a[j]) { c++; num = a[i]; }
if (c <= 2) {
Array.Resize(ref b, b.Length + 1);
b[b.Length - 1] = a[i];
}
}
}
for (int i = 0; i < b.Length; i++) Console.Write(b[i] + " ");
Console.ReadKey();
}
}
}