Pascal ABC 17 балловНапишите программу, которая сортирует массив целых чисел и определяет...

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

Pascal ABC 17 баллов

Напишите программу, которая сортирует массив целых чисел и определяет количество различных значений в нём.

Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .

Выходные данные
Программа должна вывести в первой строке элементы массива, отсортированного в порядке возрастания, а во второй строке – количество различных чисел в массиве.


Примеры
входные данные
6
6 2 1 3 6 2
выходные данные
1 2 2 3 6 6
4


Информатика (96 баллов) | 51 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
 a: array [1..10000] of integer;
 i,j,k,m,n:integer;
begin
 read(n);
 for i := 1 to n do
   read(a[i]);
 for i := 1 to n-1 do
   begin
   m := a[i];
   k := i;
   for j := i+1 to n do
     if a[j] < m then
      begin
      m := a[j];
      k := j
      end;
   if i <> k then
     begin
     a[k] := a[i];
     a[i] := m;
     end;
   end;
 for i := 1 to n do
  write(a[i],' ');
 writeln;
 k := 1;
 for i := 2 to n do
   if a[i] <> a[i-1] then
     k := k + 1;
 writeln(k)
end.

(8.5k баллов)