Процедуры в Pascale, ПОМОГИТЕ!!!! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Процедуры в Pascale, ПОМОГИТЕ!!!! |
Xumuk |
Сообщение
#1
|
Гость |
Описать процедуру SumDigit(N,S), находящую сумму цифр S целого числа N (N — входной, S — выходной параметр). Используя эту процедуру, найти суммы цифр пяти данных чисел.
ВАЩЕ не врубаюсь, помогите пожалуйста! |
compiler |
Сообщение
#2
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Описать процедуру SumDigit(N,S), находящую сумму цифр S целого числа N (N — входной, S — выходной параметр). Используя эту процедуру, найти суммы цифр пяти данных чисел. ВАЩЕ не врубаюсь, помогите пожалуйста! попробуй так разбей число на отдельные числа (делением на 10, 100, 100...) и суммируй их Сообщение отредактировано: compiler - -------------------- Спасибо!
Удачи! |
Артемий |
Сообщение
#3
|
Помощник капитана Группа: Пользователи Сообщений: 601 Пол: Мужской Реальное имя: Артем Репутация: 2 |
Воспользуйся поиском!Подобные задачи решались.
-------------------- Dum spiro spero!
|
Tan |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: 10 |
Есть число, находишь остаток от деления на 10, ложишь в сумматор, делишь нацело на 10 и так до тех пор пока не осталось число которое не делится на 10 (однозначное) его просто прибавлешь к сумматору и так с каждым числом.
-------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
Артемий |
Сообщение
#5
|
Помощник капитана Группа: Пользователи Сообщений: 601 Пол: Мужской Реальное имя: Артем Репутация: 2 |
Есть простое решение с множеством,но поскольку я с налодонником выложу чуть позже..
-------------------- Dum spiro spero!
|
compiler |
Сообщение
#6
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Есть число, находишь остаток от деления на 10, ложишь в сумматор, делишь нацело на 10 и так до тех пор пока не осталось число которое не делится на 10 (однозначное) его просто прибавлешь к сумматору и так с каждым числом. Tan, а у меня все работает так while number<>0 do begin ИМХО, так проще.. всё в одном цикле.. Сообщение отредактировано: compiler - -------------------- Спасибо!
Удачи! |
-Volvo- |
Сообщение
#7
|
Гость |
summ:=summ + Abs(number mod 10);, иначе получишь отрицательную сумму при переданном отрицательном числе... Ну, или после цикла взять сумму по модулю... |
compiler |
Сообщение
#8
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
иначе получишь отрицательную сумму при переданном отрицательном числе... точно... не учел -------------------- Спасибо!
Удачи! |
Tan |
Сообщение
#9
|
Профи Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: 10 |
Вот это объеденение всего вышеупомянутого :
uses crt; Сообщение отредактировано: Tan - -------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
Текстовая версия | 17.09.2024 13:19 |