Помогите пожалуйста решить задачку. Найти сумму цифр, встречающихся в строке. Pascal ABC. Есть идеи, но не получается.
var
str: string;
i,n,sum: real;
begin
writeln('Введите строку');
readln(str);
sum:=0;
for i:=1 to length(str) do
if (str[i]in '0') and (str[i]>='9')
then sum:=sum+ord(str[i]);
writeln('ответ: ',i);
end.
str, v, code
цикл
val(str[i], v, code)
if(code == 0)
sum = sum + v
code = 1
конец цикла
В каждой последующей итерации цикла пробуешь поочередно преобразовывать символ (в каждой новой итерации новый символ строки) в число методом val (гугли), он преобразует символ в число если в code напишет 0. Дальше проверяешь его (code) на нуль, и если нуль (т. е успех) складываешь v (туда он, т. е val(), напишет свеже-преобразованное число) к общей сумме, а если не нуль в code, ничего не складываешь, значит печаль беда, не получилось преобразовать. так каждый символ.
var str:string; i,s:integer;
begin
writeln('Введите строку'); readln(str); s:=0;
for i:=1 to length(str) do if str[i]in['0'..'9']then s:=s+ord(str[i])-48;
writeln('sum=',s)
end.