![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 01.06.2009
Сообщений: 31
|
![]()
Здравствуйте, нужна помощь с рекурсивной программой в QBasic. Вот собственно задание:
Описать рекурсивную функцию DigitSum(K) целого типа, которая находит сумму цифр целого числа K, не используя оператор цикла. С помощью этой функции найти суммы цифр для пяти данных целых чисел. Кое-что удалось написать, но нужно как-то доделать: FUNCTION DigitSum (number AS INTEGER) IF number < 10 THEN result = number ELSE result = (number MOD 10) + DigitSum(number / 10) END IF END FUNCTION |
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
![]() Цитата:
а в принципе решение правильно, или у тебя че-то не работает? опиши суть проблемы
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] |
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.06.2009
Сообщений: 31
|
![]()
Надо наверно как-то организовать ввод этих целых чисел, и вывод результата вычислений на экран. Когда запускаю программу, появляется просто тёмный экран.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Print x - вывод на экран переменной х, можно константы Print "Hello World"
Input x - Ввод данных с клавиатуры, вводить нужно в соответствии с типом переменной (то есть для строк Input x$)
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 01.06.2009
Сообщений: 31
|
![]()
Вот, доделал, но почему-то какое бы число я ни ввёл, выдаёт, что результат=0. Объясните пожалста что я не так делаю?
DECLARE FUNCTION DigitSum! (number AS INTEGER) PRINT "Vvedite chislo" INPUT number% FUNCTION DigitSum (number AS INTEGER) IF number < 10 THEN result! = number ELSE result! = (number MOD 10) + DigitSum(number / 10) END IF END FUNCTION PRINT "resultat="; result! END |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Потому что нет самих вычислений.
Попробуй исправить: PRINT "resultat="; DigitSum(number%)
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 01.06.2009
Сообщений: 31
|
![]()
Всё равно ноль выдаёт, но спасибо за помощь и что не прошли мимо, хоть что-то можно будет сдать=)))
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
рекурсия | -Spirit- | Помощь студентам | 1 | 14.01.2010 16:40 |
Рекурсия | seeton | Помощь студентам | 0 | 08.12.2009 17:41 |
Рекурсия. Си. | MAKEDON | Помощь студентам | 5 | 03.06.2009 17:52 |
Рекурсия | vitekbest | Помощь студентам | 1 | 30.05.2008 22:22 |
Рекурсия | Pravednik | Помощь студентам | 3 | 21.01.2008 14:18 |