Сайт не является учебником по программированию. Это только небольшой авторский сборник информации в помощь начинающим программистам.

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


Сюда будут добавляться задачи. Но не так быстро как могло бы хотеться. Мне на рекурсию сложно искать разнородные задачи, несмотря на множество рекурсивных решений. Это все-таки для начала понимания рекурсии, поэтому очень легкие не охота вписывать, а те, что с деревьями и графами не для самых начинающих. Поэтому буду выискивать что-то между очень легким и сложными структурами данных. Если в задаче дописаны дополнительные условия, значит они относятся только к этой задаче, но не к другим (Одна стрелочка — одна задача)

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

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

 

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

 

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

 

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

 

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

 

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

 

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

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

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

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

Поиск

 
     

Яндекс.Метрика

НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

Демотиватор

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

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