![]() |
|
Сдвиг элементов массива | ☑ | ||
---|---|---|---|---|
0
nikoslav
16.11.17
✎
19:05
|
Дан массив из m элементов. Необходимо сдвинуть элементы с a по b на n позиций. При этом нельзя создавать новые переменные кроме счетчика цикла. Переменные m,a,b нельзя менять.
Получается нужно менять индекс,указать на сколько позиций. Элементы добавлять нельзя. |
|||
1
Cyberhawk
16.11.17
✎
19:26
|
Держись там
|
|||
2
Woldemar177
16.11.17
✎
19:27
|
ТС похоже начал или Кнута читать или сессию здавать
|
|||
3
H A D G E H O G s
16.11.17
✎
19:28
|
Удачи, чё.
|
|||
4
Cyberhawk
16.11.17
✎
19:32
|
Лабораторные походу
|
|||
5
Брудвар
16.11.17
✎
19:33
|
(0) Нельзя создавать переменные значительного размера, типа массивов? Или нельзя вообще использовать ни одного лишнего байта?
Оптимизировать по количеству перестановок нужно? |
|||
6
Cyberhawk
16.11.17
✎
19:36
|
(5) Перестановки не нужны - нужно тупо сдвинуть, как Я понял. Если там на новом месте есть элемент, то его перезатирать
|
|||
7
Cyberhawk
16.11.17
✎
19:39
|
Ну а если сдвиг циклический, то вот: http://codelab.ru/task/cycle_shift/
|
|||
8
Брудвар
16.11.17
✎
19:39
|
(6) Образуется пустое место, и затрутся другие элементы. Я думаю так не должно быть.
|
|||
9
Брудвар
16.11.17
✎
19:40
|
(7) Там временные переменные используются
|
|||
10
Cyberhawk
16.11.17
✎
19:41
|
(9) Ну это для затравки мною было дано )
|
|||
11
Александр056
16.11.17
✎
20:58
|
при смещении, последний элемент должен стать первым? получается что его выталкивают в начало?
|
|||
12
Александр056
17.11.17
✎
14:41
|
постановку можно уточнить? недоговорил по условиям. Потому как в нынешней постановке задача не зависит от индексов a и b. Неважно, какие индексы ты задашь, всегда получишь один и тот же результат.
|
|||
13
Широкий
17.11.17
✎
14:46
|
ЕСли просто сдвинуть то Вставить(ИндексA)
|
|||
14
dezss
17.11.17
✎
14:56
|
b+n<m?
или допускается циклический сдвиг? |
|||
15
фросия
17.11.17
✎
15:04
|
перезаписать элементы внутри массива без доп переменных можно если тип у них число. если ссылочный тип то придётся с индексами придумывать что-то...
|
|||
16
Александр056
17.11.17
✎
15:08
|
(14) вот мне так и показалось, обычный циклический сдвиг
|
|||
17
dezss
17.11.17
✎
15:15
|
Для массива состоящего из чисел
й = a; Пока й <= b Цикл Массив[й] = Массив[й] + Массив[b+n-Цел((b+n)/m)*m]; Массив[b+n-Цел((b+n)/m)*m] = Массив[й] - Массив[b+n-Цел((b+n)/m)*m]; Массив[й] = Массив[й] - Массив[b+n-Цел((b+n)/m)*m]; й = й + 1; КонцЦикла |
|||
18
dezss
17.11.17
✎
15:33
|
(17) тьфу...
не [b+n-Цел((b+n)/m)*m] а [й+n-Цел((й+n)/m)*m] |
|||
19
Александр056
17.11.17
✎
15:45
|
да но про числа не написано...
|
|||
20
dezss
17.11.17
✎
16:01
|
(19) если любые элементы, то никак...только если знаешь тип элементов.
|
|||
21
john90
17.11.17
✎
16:20
|
(0) зачем этот бред????
|
|||
22
john90
17.11.17
✎
16:21
|
1сик не для этого разрабатывали
|
|||
23
Wirtuozzz
17.11.17
✎
16:24
|
(0) вот бы такие стандарты были в 1с на разработку.
|
|||
24
PCcomCat
17.11.17
✎
16:28
|
Припоминаю,что есть несколько методов: пузырьковый, сдвига и т.д. Какой-то из них можно без переменных.
|
|||
25
john90
17.11.17
✎
16:28
|
(23) зачем? глупость
|
|||
26
Buster007
17.11.17
✎
17:19
|
Как я понял условие, например:
Есть массив м состоящий из 10 элементов: а1, а2,.. , а10 Необходимо сместить элементы 3, 4, 5 на 5 позиций таким образом, т.к. количество элементов в массиве нельзя изменять, то для первого шага элементы в массиве а10, а1, а2, а3,.. а9 для второго шага а9, а10, а1,... а8 Непонятно, зачем нужно знать, что хранит массив в этой задаче. |
|||
27
Михаил Козлов
17.11.17
✎
17:27
|
(26) Есть такая задача: для 2-х чисел а и б переприсвоить, НЕ ИСПОЛЬЗУЯ ДРУГИЕ ПЕРЕМЕННЫЕ. Для чисел это можно (17), а если это любые переменные, то непонятно как без "буфера".
|
|||
28
Buster007
17.11.17
✎
17:35
|
(27) да-да, уже подумал над этим )
|
|||
29
Сияющий в темноте
17.11.17
✎
22:10
|
переменная-это адрес в памятм
аосенять переменные-переставиь адреса? |
|||
30
Сияющий в темноте
17.11.17
✎
22:11
|
а сдвиг,наверное,предполагался циклический
|
|||
31
Bigbro
17.11.17
✎
22:15
|
если нет переменных и памяти то остается стэк и регистры процессора. еще можно с шиной поиграться, про внешние устройства ничего сказано не было.
|
|||
32
Bigbro
17.11.17
✎
22:17
|
кстати в х86 системе команд с 486 точно а может и раньше уже присутствуют расширения для работы с массивами
|
|||
33
Александр056
20.11.17
✎
08:57
|
вопрос зачем мне нзнать про а и б элементы? если я начинаю сдвигать какой-либо элемент, то двигается весь массив.
|
|||
34
Сияющий в темноте
20.11.17
✎
09:45
|
сдвигать подмассив в массиве для этого и границы подмассива даны
|
|||
35
lodger
20.11.17
✎
09:49
|
зависит от языка на котором пишешь лабу.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |