Вывести все цифры строки на экран без повторений - Turbo Pascal
Формулировка задачи:
Написать программу, используя подпрограммы.
Дана строка. Сколько цифр входит в строку? Вывести все цифры на экран без повторений.
Решение задачи: «Вывести все цифры строки на экран без повторений»
textual
Листинг программы
var
s: String;
m: set of '0'..'9';
i, k: Integer;
c: Char;
begin
Write('Строка: '); ReadLn(s); {k:=0;}
for i:=1 to Length(s) do
if s[i] in ['0'..'9'] then begin
Include(m,s[i]); Inc(k);
end;
Write('Цифр: ',k);
if k>0 then begin
Write(': ');
for c:='0' to '9' do if c in m then Write(' ',c);
end; WriteLn;
end.
Объяснение кода листинга программы
- Строка введена пользователем. Сохраняется в переменной
s. - Создается множество символов от '0' до '9'. Сохраняется в переменной
m. - Создаются две переменные
iиkтипаInteger. Переменнаяiиспользуется для итерации по символам строки, а переменнаяkиспользуется для отслеживания количества цифр, которые уже были найдены. - Итерация начинается с первого символа строки.
- Проверяется, является ли текущий символ цифрой. Если да, то он добавляется в множество
m, увеличивается значение переменнойkна единицу и цикл продолжается. - После завершения итерации выводится количество найденных цифр.
- Если количество найденных цифр больше нуля, то выводится двоеточие и цикл повторяется для каждого символа из множества
m, пока не будут найдены все цифры. - По завершении выводится символ новой строки.