Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Задача на Pascal'e


Рекомендуемые сообщения

Или преобразовываешь в строку и считаешь сумму цифр как элементов массива, преобразованных обратно из символа в цифру (проще определить колличество цифр, по крайней мере по-моему)...

Преобразование числа в строку - функция str, символа в число - val...

Ссылка на комментарий
Поделиться на другие сайты

Scorp1on

А откуда берем число? Если вводим с клавы - то читаем "поразрядно" в массив типа word до нажатия Enter (к примеру), а потом просто складываем. Если читаем из файла - то тоже "поразрядно" в массив, только типа char, потом переводим в числовой формат и складываем.

Ссылка на комментарий
Поделиться на другие сайты

Scorp1on:

Тут же наверху в этом же разделе постоянная тема с красной пометкой "Важно": "Заказы "Сделайте все за меня", А вдруг прокатит?". Там как раз все такие вопросы.

По самому вопросу - вот один из вариантов:

program SumOfDigits;

var

I,K,S:Integer; N:Longint;

begin

ReadLn(N);

N:=Abs(N);

S:=0;

for I:=1 to 10 do

begin

K:=N-(N div 10)*10; S:=S+K; N:=N div 10;

end;

WriteLn(S);

end.

Работает для целых чисел до 2 миллиардов.

P.S. Кстати, можно по совету Stolik'а немного упростить: вместо оператора K:=N-(N div 10)*10; написать короче K:=N mod 10;

Я об операции получения остатка как-то забыл :bye1: .

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...