Определить, какие цифры есть в выражении (рекурсия) - Pascal ABC

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

В строке содержится запись арифметического выражения. Какие цифры есть в выражении? Переделать через рекурсию
var s:string;
    a:set of char;
    i:byte;
begin
   write('Введите строку');
   readln(s);
  for i:=1 to length(s) do
   if s[i] in ['0'..'9'] then
    a:=a+[s[i]];
writeln(a)    
end.

Код к задаче: «Определить, какие цифры есть в выражении (рекурсия) - Pascal ABC»

textual
type mnz=set of char;
procedure cifry(s:string;i:byte;var m:mnz);
begin
if s[i] in ['0'..'9'] then m:=m+[s[i]];
if i<length(s) then cifry(s,i+1,m);
end;
var a:mnz;
    s:string;
    c:char;
begin
writeln('Введите арифметическое выражение, содержащее цифры');
readln(s);
cifry(s,1,a);
if a=[] then write('Вы не ввели ни одной цифры')
else
 begin
  writeln('В выражении есть цифры:');
  for c:='0' to '9' do
  if c in a then write(c:2);
 end;
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

12   голосов, оценка 4.167 из 5


СДЕЛАЙТЕ РЕПОСТ