УПРАЖНЕНИЯ НА РЕКУРСИЮ

Сюда будут добавляться задачи. Но не так быстро как могло бы хотеться. Мне на рекурсию сложно искать разнородные задачи, несмотря на множество рекурсивных решений. Это все-таки для начала понимания рекурсии, поэтому очень легкие не охота вписывать, а те, что с деревьями и графами не для самых начинающих. Поэтому буду выискивать что-то между очень легким и сложными структурами данных. Если в задаче дописаны дополнительные условия, значит они относятся только к этой задаче, но не к другим (Одна стрелочка — одна задача)
Пока задач мало, но мало лучше чем ничего.
Предлагаемые здесь упражнения на рекурсию требуют таких решений, в которых никаких циклов не будет использоваться. (goto, for, while и др циклы запрещаются). Разрешается использовать что-то из языка, в чем могут быть прописаны эти циклы (но мы-то об этом не знаем). Т. е. разрешено использовать любые встроенные функции языка. Не разрешается использовать глобальных переменных.
  • Оставить в строке между словами ровно по одному пробелу. (т.е. если строка содержит несколько пробелов подряд, то заменить все это множество пробелов только одним пробелом)
  • Пример (пробелы в примере для наглядности сейчас символы подчеркивания)
    "String___________test___one______________this"
    должно стать
    "String_test_one_this"
    На вход в функцию подается только строка. (Если память выделяется с помощью new, то Строка и длина строки). static использовать запрещено.

 

  • Выполните поиск элемента в массиве. Для поиска элемента используйте рекурсивную функцию. В случае, если элемент не найден, выдавать сообщение об отсутствии. Используйте обычный одномерный массив целочисленных значений

 

  • (Поиск наименьшего значения в массиве) Напишите рекурсивную функцию, которая принимает массив и размер массива как аргументы и возвращает наименьший элемент массива. Функция должна прекращать свою работу и возвращаться, если принимаемый массив имеет один элемент.

 

  • Посчитать сумму цифр в числе
  • В функцию подается целое положительное число.

 

  • Определить является ли строка палиндромом
  • Палиндром — это строка, которая читается одинаково слева-направо и справа-налево

 

  • Разворот числа
  • Дано число n, десятичная запись которого не содержит нулей. Получите число, записанное теми же цифрами, но в противоположном порядке.
    При решении этой задачи нельзя использовать циклы, строки, списки, массивы, разрешается только рекурсия и целочисленная арифметика.
    Фунция должна возвращать целое число, являющееся результатом работы программы, выводить число по одной цифре нельзя.

 

  • Ввод в переменную числа перевертыша
Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

4 комментария: C++ Упражнения Рекурсия

  • валерий говорит:

    начало 1. Я ожидаю какие-нибудь рекомендации, но это пока отсутствует




    0



    0
  • Виктор говорит:

    Рекурсивные функции имеет смысл, из соображений получения эффективного кода использовать только тогда, когда рекурсия содержится в самих данных. Типичными примерами являются действительно деревья, а также, например, поиск файлов по заданному пути. По крайней мере я бы сказал, что приведенные задачи являются исключительно учебными, как и классический пример вычисления факториала с использованием рекурсивной функции, а не простого цикла.




    0



    0

Добавить комментарий

Ваш e-mail не будет опубликован.

Поиск

 
     

Случайная книга в электронном формате

Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

Демотиватор программирование на языке ада

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок