Склавиатуры вводится текст из прописных и строчных латинских букв и цифр. ввод прекращается при нажатии клавиши enter. произвести следующие операции: 1) напечатать только цифры, входящие в этот текст; 2) найти процентное содержание цифр в исходном тексте.(паскаль)

egortupi egortupi    2   31.07.2019 13:20    1

Ответы
yanakorzh2003 yanakorzh2003  03.10.2020 18:41
//Pascal ABC.NET 3.1 сборка 1219

//Школьный вариант
Var
 s:string;
 p:real;
 se:set of char;
 i:integer;
begin
readln(s);
se:=['0','1','2','3','4','5','6','7','8','9'];
for i:=1 to length(s) do
if s[i] in se then
begin
 p:=p+1;
 write(s[i]);
end;
p:=p/(length(s)/100);
writeln;
writeln('Percent=',p);
end.

//Альтернативный вариант
Var
 s:string;
 se:set of char;
begin
readln(s);
se:=['0','1','2','3','4','5','6','7','8','9'];
s.Where(x -> x in se).Println;
writeln('Percent=',s.where(x -> x in se).Count/(length(s)/100));
end.

Пример ввода:
I3artle, Caster, 1 of 7 summoned characters.
Пример вывода:
317
Percent=6.81818181818182
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика