Напишите программу, которая сортирует массив целых чисел и определяет количество различных значений в нём - Pascal
Формулировка задачи:
Помогите написать код,спасибо.Напишите программу, которая сортирует массив целых чисел и определяет количество различных значений в нём.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
Программа должна вывести в первой строке элементы массива, отсортированного в порядке возрастания, а во второй строке – количество различных чисел в массиве.
Примеры
входные данные
6
6 2 1 3 6 2
выходные данные
1 2 2 3 6 6
4
Решение задачи: «Напишите программу, которая сортирует массив целых чисел и определяет количество различных значений в нём»
textual
Листинг программы
var a:array[1..10000] of integer;
n,i,j,x,k:integer;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
k:=1;
for i:=2 to n do
if a[i]<>a[i-1] then inc(k);
for i:=1 to n do
write(' ',a[i]);
writeln;
write(k);
end.
Объяснение кода листинга программы
- Объявление переменных:
a- массив целых чисел размером до 10000,n- целое число (размер массива),i,j,x,k- целые числа (используются для итераций и хранения временных значений).
- Считывание размера массива:
- Программа считывает значение
n, определяющее размер массива.
- Программа считывает значение
- Считывание значений в массив:
- Программа считывает
nцелых чисел и помещает их в массивa.
- Программа считывает
- Сортировка массива:
- Выполняется сортировка массива
aв порядке возрастания. Для этого используется вложенный цикл сравнения элементов и их обмена местами, если это необходимо.
- Выполняется сортировка массива
- Подсчет уникальных значений:
- С помощью итерации по массиву программа определяет количество уникальных значений, увеличивая переменную
kпри обнаружении нового значения.
- С помощью итерации по массиву программа определяет количество уникальных значений, увеличивая переменную
- Вывод отсортированного массива:
- Программа выводит отсортированный массив
a.
- Программа выводит отсортированный массив
- Вывод количества уникальных значений:
- Программа выводит количество уникальных значений, сохраненное в переменной
k.
- Программа выводит количество уникальных значений, сохраненное в переменной