8.х Сдвиг элементов массива

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем sergqwert, 17 ноя 2017.

  1. TopicStarter Overlay
    sergqwert
    Offline

    sergqwert

    Регистрация:
    27 ноя 2016
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Дан массив из m элементов. Необходимо сдвинуть элементы с a по b на n позиций. При этом нельзя создавать новые переменные кроме счетчика цикла. Переменные m,a,b нельзя менять.

    Получается нужно менять индекс,указать на сколько позиций. Элементы добавлять нельзя.
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.397
    Симпатии:
    155
    Баллы:
    104
    Тип элементов массива какой? А то без этого задача может быть и нерешаема без вставок и удалений в массиве или использования дополнительных переменных.

    На случай, если массив содержит числовые данные - вот подсказка:
    Сначала реши более простую задачу - есть переменные a и b, надо поменять местами их значение, не используя другие переменные. Как только решишь - у тебя будет процедура для того, чтобы поменять местами два элемента массива не используя вставки и удаления элементов. Дальше все станет проще.
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.286
    Симпатии:
    968
    Баллы:
    204
    Эээ....а точно без доп. переменных можно поменять местами два элемента массива?
  4. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.397
    Симпатии:
    155
    Баллы:
    104
    только числовые
    --- Объединение сообщений, 18 ноя 2017 ---
    по крайней мере для 1с
  5. TrasserZero
    Offline

    TrasserZero Опытный в 1С

    Регистрация:
    26 окт 2016
    Сообщения:
    51
    Симпатии:
    2
    Баллы:
    29
    Можно попробовать и строчные.. конкатенацией с каким-нибудь спецсимволом-разделителем..
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.286
    Симпатии:
    968
    Баллы:
    204
    А можно пример в личку? Чего-то я совсем не представляю, каким образом.
  7. TrasserZero
    Offline

    TrasserZero Опытный в 1С

    Регистрация:
    26 окт 2016
    Сообщения:
    51
    Симпатии:
    2
    Баллы:
    29
    ну я так думаю типа
    а=1
    б=3
    и так далее.. это типа элементы массива..
    а=а+б //4
    б=а-б //1
    а=а-б //3
    и так каждую пару меняем в цикле..
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.286
    Симпатии:
    968
    Баллы:
    204
    Нельзя вводить новые переменные, только 1 массив.
  9. TrasserZero
    Offline

    TrasserZero Опытный в 1С

    Регистрация:
    26 окт 2016
    Сообщения:
    51
    Симпатии:
    2
    Баллы:
    29
    так мы и не вводим.. это я для примера
    [0] 1;
    [1] 3; //это элементы. а далее по схеме.
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.286
    Симпатии:
    968
    Баллы:
    204
    Хорошо, понял. Это ОЧЕНЬ частный случай.

Поделиться этой страницей