Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2013, 17:22   #1
amti
Новичок
Джуниор
 
Регистрация: 08.02.2013
Сообщений: 1
По умолчанию Разработать рекурсивную программу для решения следующей задачи.

В числе, введённом пользователем, подсчитать количество вхождений некоторой цифры (искомую цифру указывает пользователь).
amti вне форума Ответить с цитированием
Старый 08.02.2013, 17:34   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Что-то в таком духе:
Код:
countDigitsAcc 0 digit acc = acc

countDigitsAcc num digit acc = if (equals (mod num 10) digit)
    then (countDigits (div num 10) digit (+ 1 acc))
    else (countDigits (div num 10) digit acc)

countDigits num digit = countDigitsAcc num digit 0
Abstraction вне форума Ответить с цитированием
Старый 08.02.2013, 19:11   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
p([], _, 0).
p([C|T], H, NN):-
  C is H, p(T, H, N), NN is N + 1, !;
  p(T, H, NN).
использовать примерно так:
Код:
test:- 
  read(S), read(C),
  integer(S), integer(C), C >= 0, C < 10,

  string_to_list(S, L1), string_to_list(C, L2), L2 = [Ch|_],

  p(L1, Ch, N),
  write(N).
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
)Разработать программу решения задачи. В текстовые поля вводятся три числа. Madoks Помощь студентам 1 17.04.2012 20:42
Разработать алгоритм и составить программу для решения задачи. Длину последовательности задать димон4ик_ Помощь студентам 0 18.10.2011 10:55
Разработать алгоритм и составить программу для решения задачи. Длину последовательности задать димон4ик_ Помощь студентам 2 18.10.2011 09:39
Разработать алгоритм и программу решения задачи с использованием Jereme Паскаль, Turbo Pascal, PascalABC.NET 6 07.05.2009 14:06