Как определить сколько разных городов в массиве? - Free Pascal
Формулировка задачи:
Есть массив городов (mas[i].gorod):
Питер
Москва
Питер
Москва
Москва
Питер
Москва
Ростов-на-Дону
Питер
Москва
Ростов-на-Дону
Ростов-на-Дону
В массиве всего три разных города : Ростов-на-Дону, Москва и Питер.
Как определить, что их всего три? То есть, как определить сколько
разных
городов в массиве?Решение задачи: «Как определить сколько разных городов в массиве?»
textual
Листинг программы
- var X : R; // R - базовый тип для массива...
- begin
- with TStringList.Create do
- try
- Duplicates := dupIgnore;
- Sorted := True;
- for X in mas do Add(X.gorod);
- writeln(Count); // <--- Выведет именно 3
- finally
- Free;
- end;
- end;
Объяснение кода листинга программы
В данном коде используется язык программирования Free Pascal.
- Создается новый объект
TStringList
с помощью методаCreate
. - В цикле по каждому элементу массива
mas
добавляется значение поляgorod
вTStringList
. - Перед выводом количества элементов в
TStringList
, устанавливается свойствоDuplicates
вdupIgnore
, чтобы игнорировать дубликаты. - Выводится количество элементов в
TStringList
с помощьюwriteln(Count)
. - В конце освобождается память с помощью метода
Free
. В данном случае, в массивеmas
есть три уникальных значения:Москва
,Санкт-Петербург
,Казань
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д