• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задача на рекурсию

Наташок

Новые
Регистрация
5 Окт 2010
Сообщения
16
Реакции
0
Баллы
0
Задача на рекурсию

{Дан массив х, состоящий из 10 вещественных чисел и целочисленная переменная к,
необходимо элементы массива х циклически сдвинуть на к позиций влево.}
пишем на языке паскаль.....
обязательно нужно решить эту задачу с использованием рекурсии..))))помогите!!____)))))
 
алгоритм следующий:
1) описываем 2 массива, первый - эталонный, второй - результирующий, заводим промежуточные переменные для обмена значениями элементов массива и переменную к
2) в цикле for заполняем эталонный массив значениями
3) запрашиваем значение к
4) в цикле for обращаемся к каждому эталонного элементу, присваиваем его значение промежуточной переменной, вычисляем индекс элемента для сдвига (например, abs(i-k) mod 10) и присваиваем текущему элементу результирующего массива значение элемента эталонного массива с вычисленным индексом.
5) в цикле for выводим значения результирующего массива.
 
не понимаю...зачем здесь два массива описывать?можно ведь просто описать один, ввести его значение....так?а потом?
 
Извиняюсь, алгоритм малость не подходит к вашему заданию. Вам нужно использовать рекурсивную функцию, которой в приведённом мной алгоритме нет.
 
Ок.вызываем функцию рекурсии...а дальше?
 
вычисляем индекс и заменяем элемент.

Тут проблема в том, что значение K может многократно превышать число элементов массива и при обмене значениями может быть ситуация повторного обмена значениями. Поэтому нужно предусмотреть такой цикл обращения к массиву, чтобы при сдвиге не затрагивать уже замененные элементы.
 
ай, ничего у меня не получается!!!!если кто знает напишите программу....(((
 
Назад
Сверху