С клавиатуры вводится текст из прописных и строчных латинских букв и цифр. Ввод...

0 голосов
71 просмотров

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


Информатика (44 баллов) | 71 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

//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

(38.6k баллов)