0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 8
|
|||||||||||
1 | |||||||||||
Сдвиг в динамическом массиве21.03.2010, 14:23. Показов 3158. Ответов 14
Метки нет (Все метки)
Добрый день) Сразу оговорюсь что честно пользовался поиском. Если у меня проблемы со зрением - прошу указать соответствующую тему. Спасибо.
Итак. Мне нужно получить от пользователя массив на любое количество элементов (N), а потом сделать сдвиг вправо (K). K естественно задается пользователем, но по условию K строго меньше N. Особенность: сдвиг "циклический" - элементы с правого края при нехватки "места" переносятся в начало массива. Нет, не думайте, я не прошу написать программу за меня. Я спокойно написал программу по получению от пользователя массива любого размера. Также я подумал, что будет удобно сдвигать числа при помощи второго, пустого массива идентичного размера. Вот:
Прошу помочь составить алгоритм сдвига. Большое спасибо заранее
0
|
21.03.2010, 14:23 | |
Ответы с готовыми решениями:
14
Циклический сдвиг в двумерном динамическом массиве Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве. nullptr в динамическом массиве Ошибка в динамическом массиве |
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
21.03.2010, 14:28 | 2 |
Алгоритм прост как 5 пять копеек, скорее всего кто-нибудь поможет.
0
|
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 8
|
|
21.03.2010, 14:32 [ТС] | 3 |
Я понимаю что он несложный. Но сам уже второй день голову ломаю ((( глупый я наверное)
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|||||||||||
21.03.2010, 14:33 | 4 | ||||||||||
Попробуй эту функцию, делает что то похожее.
0
|
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 8
|
|
21.03.2010, 14:36 [ТС] | 5 |
А просто алгоритма не существует, например, с циклом? Просто это слишком крутое решение. Мне ведь сдавать потом прогу)
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|||||||||||
21.03.2010, 14:51 | 6 | ||||||||||
Вставь в коде куда тебе следует:
return 0 убери Добавлено через 4 минуты у меня сдвиг влево сейчас сделаю вправо. Добавлено через 6 минут
1
|
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 8
|
|
21.03.2010, 15:00 [ТС] | 7 |
Простите, а можно разобрать что есть что из написанного? Я просто не могу понять что за массив с [0] что за size m и куда мне собственно девать количество сдвигов К, которое в моей программе задается пользователем
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||||||
21.03.2010, 15:09 | 8 | |||||
Что то был не внимателен в прочтении задание, про k забыл.
Значит алгоритм меняется не намного. K должно отвечать сколько надо потворить мой фрагмент, следовательно надо внешний цикл ещё добавить. Добавлено через 1 минуту Допустим так:
1
|
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 8
|
|
21.03.2010, 15:12 [ТС] | 9 |
Вопрос мой прошлый остается так сказать "приоткрытым". У меня два массива. Массив А - заполнен элементами. Массив B пуст и в него надо в правильном порядке перенести значения из А. Учитывая k конечно.
Извините, но я просто хочу понять как работает код написанный вами и как его можно использовать в моей программе. Я просто думал что у меня мышление по поводу алгоритма переноса верное, но надо добавить несколько условий if чтобы крайние элементы переносились в начало. Но я не как не могу придумать алгоритм
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
21.03.2010, 15:14 | 10 |
Короче вожусь тут я чувствую зря...
Тем более на 100% процентов уверен, что на спасибо ни кто не нажмет.
3
|
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 8
|
|
21.03.2010, 15:20 [ТС] | 11 |
Раздел называется для начинающих ))) я не зря себя к ним отнес...
Я попросил только помочь в составлении алгоритма переноса только потому что сам уже сломал над ним голову. Вы написали какой-то код, который может быть и работает, но я не понимаю как (см. название раздела). Не понимаю также как использовать его в своей программе. Просто меня не устраивает вариант тупо копипастить. Я пришел не за решением задачи, а за помощью. В любом случае спасибо за потраченное время
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
21.03.2010, 15:50 | 12 | |||||
zzzt, вот самое красивое решение данной задачи из всех мне известных
1
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
21.03.2010, 15:59 | 13 |
zzzt Скажет это очень круто...
0
|
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 8
|
||||||
21.03.2010, 18:01 [ТС] | 14 | |||||
Придумал вот такую штуку
Но независимо от заданного K сдвигает только на 1. Будто бы цикл по j не работает. Только внутренний действует. Где я не прав?
0
|
0 / 0 / 1
Регистрация: 11.01.2010
Сообщений: 33
|
|||||||||||
21.03.2010, 18:01 | 15 | ||||||||||
Здравствуйте Извините, что не совсем в тему. Помогите, пожалуйста, разобраться. У меня есть два кода: первый кодирует, второй- раскодирывает одни и те же данные. Почему не совпадают исходники?
Задание: Елемент профиля пользователя в системе исчисления представляется в виде: № разряду 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Значення G G G G G G G G S S S S P 0 0 0 де: G..G - идентификатор группы, к которой приналежит пользователь S..S - код системы, которая загружается для пользователя P - признак привелегии пользователя Это первый
а это второй
0
|
21.03.2010, 18:01 | |
21.03.2010, 18:01 | |
Помогаю со студенческими работами здесь
15
Ошибка в одноиерном динамическом массиве Реализация стека в динамическом массиве Рандом чисел в динамическом массиве Преобразование типов в динамическом массиве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |