0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 38
|
||||||
1 | ||||||
Циклический сдвиг. Очень нужно05.10.2013, 17:02. Показов 772. Ответов 11
Метки нет (Все метки)
Здравствуйте! Мне нужно осуществить циклический сдвиг, чтобы максимальный элемент стоял последним. Вроде бы все делаю, но почему-то не получается. Помогите, пожалуйста, найти ошибку.
0
|
05.10.2013, 17:02 | |
Ответы с готовыми решениями:
11
циклический сдвиг Циклический сдвиг Циклический сдвиг Циклический сдвиг. |
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
|
|
05.10.2013, 17:20 | 2 |
Можно просто через 2 цикла. Первый вы находите максимальный элемент массива, а второй просто зарание сохраните значение последнего елемента и поменяйте его местами.
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 38
|
|
05.10.2013, 17:24 [ТС] | 3 |
Но мне же надо не просто поменять местами максимальный элемент и последний. Нужно сдвигать все элементы так, чтобы максимальный стал последним. Или Вы что-то другое имели в виду?
0
|
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
|
||||||
05.10.2013, 17:30 | 4 | |||||
Я вас не правильно понял. Ну тогда смотрите. Первым делом находите максимум. Запоминаете индекс.
Далее делайте 2 цикл вот пример:
0
|
120 / 120 / 47
Регистрация: 29.03.2013
Сообщений: 237
|
||||||
05.10.2013, 17:37 | 5 | |||||
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 38
|
|
05.10.2013, 17:48 [ТС] | 6 |
Bend3r, сделала все, как Вы сказали. Но циклический сдвиг не осуществляется.
Например, ввожу я последовательно 6 чисел: 1 6 2 3 4 5. Вместо того, чтобы вывести: 2 3 4 5 1 6, программа выводит: 1 5 4 3 2 6. Добавлено через 8 минут scenotaph, не работает. Компилятор ошибки по компиляции не выдает, но при работе появляется окно "прекращена работа программы".
0
|
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
|
|
05.10.2013, 17:52 | 7 |
Скиньте ваш код.
Сразу бы написали так, ну тогда значение i в первом цикле, укажите 1, и передвигайте полностью ваш массив, ну а в конце просто поменяйте местами последний елемент с значением максимум.
0
|
120 / 120 / 47
Регистрация: 29.03.2013
Сообщений: 237
|
||||||
05.10.2013, 18:00 | 8 | |||||
Извините, не понял задание.
Попробуйте это:
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 38
|
|
05.10.2013, 19:05 [ТС] | 9 |
scenotaph, а можете, пожалуйста, объяснить свой алгоритм сдвига? А том немного непонятно((
0
|
120 / 120 / 47
Регистрация: 29.03.2013
Сообщений: 237
|
||||||
05.10.2013, 19:13 | 10 | |||||
Gina,
И повторяем эту процедуру N - I_max раз, где N это количество элементов массива, а I_max индекс максимального элемента. То есть, N - I_max это количество элементов(шагов), на которые нужно сдвинуть максимальный элемент, чтобы он оказался в конце массива
1
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 38
|
|
05.10.2013, 19:47 [ТС] | 11 |
scenotaph, спасибо!
0
|
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
|
|||||||||||
05.10.2013, 20:16 | 12 | ||||||||||
Что-то как-то сложно. Можно же проще:
Даже еще проще:
0
|
05.10.2013, 20:16 | |
05.10.2013, 20:16 | |
Помогаю со студенческими работами здесь
12
Циклический сдвиг массива Циклический сдвиг матрицы Циклический сдвиг массива Циклический сдвиг числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |