16.11.2010, 13:00 | #1 (permalink) |
Member
Регистрация: 05.10.2010
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Задача на рекурсию
необходимо элементы массива х циклически сдвинуть на к позиций влево.} пишем на языке паскаль..... обязательно нужно решить эту задачу с использованием рекурсии..))))помогите!!____))))) |
16.11.2010, 13:00 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Потратьте немного времени на прочтение подобных обсуждений Задача по С + + Задача по С++ Задача Помогите с задачей на рекурсию. |
16.11.2010, 13:14 | #2 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
алгоритм следующий:
1) описываем 2 массива, первый - эталонный, второй - результирующий, заводим промежуточные переменные для обмена значениями элементов массива и переменную к 2) в цикле for заполняем эталонный массив значениями 3) запрашиваем значение к 4) в цикле for обращаемся к каждому эталонного элементу, присваиваем его значение промежуточной переменной, вычисляем индекс элемента для сдвига (например, abs(i-k) mod 10) и присваиваем текущему элементу результирующего массива значение элемента эталонного массива с вычисленным индексом. 5) в цикле for выводим значения результирующего массива.
__________________
Убить всех человеков! |
16.11.2010, 13:34 | #4 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Извиняюсь, алгоритм малость не подходит к вашему заданию. Вам нужно использовать рекурсивную функцию, которой в приведённом мной алгоритме нет.
__________________
Убить всех человеков! |
16.11.2010, 13:41 | #5 (permalink) |
Member
Регистрация: 05.10.2010
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Ок.вызываем функцию рекурсии...а дальше?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
16.11.2010, 13:53 | #6 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
вычисляем индекс и заменяем элемент.
Тут проблема в том, что значение K может многократно превышать число элементов массива и при обмене значениями может быть ситуация повторного обмена значениями. Поэтому нужно предусмотреть такой цикл обращения к массиву, чтобы при сдвиге не затрагивать уже замененные элементы.
__________________
Убить всех человеков! |
16.11.2010, 23:46 | #8 (permalink) |
Новичок
Регистрация: 11.11.2010
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Даааа...я знаю..=)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|