Вычисление суммы цифр строки
[к
списку задач]
Дана строка, состоящая из символов, каждый из которых
является знаком «+» или цифрой, начинающаяся и заканчивающаяся
цифрой. Если в строке встречается сочетание «++», то выдать
сообщение об ошибке, в противном случае вычислить получившуюся
сумму.
Решение задачи на Паскале. Эта задача
рассчитана больше на знание языка программирования, чем на
сообразительность. Для решения задачи можно использовать функцию
"ORD", которая позволяет получить порядковый номер любого
символа согласно таблице ASCII-кодов. Например, номер символа
'0' - 48, а номер символа '1' - 49. Как вы понимаете, чтобы
получить искомую цифру, необходимо отнять от номера символа 48.
Внимание!
- Во входной строке нет пробелов!
- Функция ORD будет работать в
Turbo Pascal, но не будет работать
в Pascal ABC.
- Pascal ABS поддерживает
синтаксис Delphi, поэтому
необходимо заменить строку "res:=
res + (ord(s[i])-48);"
на "res:= res +
StrToInt(s[i]);"
const
s = '2+6+8+9+1+5';
var
i,res: integer;
begin
res:=0;
for i := 1 to length(s) - 1 do
if (s[i] = '+') and (s[i+1]= '+' ) then
begin
write('Error');
exit;
end;
for i := 1 to length(s) do
if s[i] <> '+' then
res := res + (ord(s[i])-48);
write(res);
end.
[к списку задач]