Сумма цифр. Паскаль

Ответить
AsaMoaH
Сообщения: 3
Зарегистрирован: 06 май 2008, 13:25

Помогите плз с решением
вычислить сумму цифр натурального числа заданного пользователем
:(
C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

Учитывая, натуральное число может быть достаточно велико, то советую считать в строку, потом

For i:=1 to length(S) do begin
Val(S,x, Code);
if code=0 then c:=c+x
else writeln ('error');
end;

где S строковая переменная,
Code, i, x, c целочисленные.
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
MOTOCoder
Сообщения: 548
Зарегистрирован: 14 янв 2008, 20:27
Откуда: Россия, Псков

Я бы еще после writeln('error') Break поставил.
Ни что так не ограничивает фантазию программиста, как компилятор...
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

А я бы так:
for i:=1 to length(s) do
sum:=sum+ord(s)-ord('0');
Для нечисловых данных, естественно, выдаст неверное значение
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить