Найти количество различных членов одномерного массива - Free Pascal

Узнай цену своей работы

Формулировка задачи:

1. Дан целочисленный массив А, содержащий n элементов (n 20). Найти количество различных членов последовательности.

Решение задачи: «Найти количество различных членов одномерного массива»

textual
Листинг программы
uses fgl, types;
type t = specialize tfpgmap<integer, integer>;
var m : t;
// ...
    m := t.create;
    m.sorted := true;
    m.duplicates := dupignore;
    for i in x do m.add(i);
    writeln('Разных значений: ', m.count);

Объяснение кода листинга программы

  1. Используется модуль fgl (используется для работы с массивами).
  2. Определен тип t, который является специализацией tfpgmap<integer, integer>.
  3. Объявлена переменная m типа t.
  4. Вызывается метод create для инициализации массива m.
  5. Устанавливается свойство sorted в true, чтобы отсортировать элементы массива.
  6. Устанавливается свойство duplicates в dupignore, чтобы игнорировать дубликаты при добавлении элементов.
  7. Запускается цикл for i in x, где x — это некоторый список значений.
  8. Для каждого значения i в цикле вызывается метод add для добавления элемента в массив m.
  9. Выводится сообщение 'Разных значений: ' и количество различных элементов в массиве m с помощью свойства count.

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы