Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
roman ua
1 / 1 / 0
Регистрация: 06.03.2009
Сообщений: 25
#1

Не используя дополнительных массивов переставить начало и конец массива - C++

17.03.2009, 21:44. Просмотров 1578. Ответов 2
Метки нет (Все метки)

Помогите решыть задачу:
Дан масив целых чисел x[0]....x[m+n] рассматриваемый как соединение двух его отрезков : начала x[0]....x[m] длины m и конца x[m+1]...x[m+n] длины n.Не используя дополнительных массивов переставить начало и конец.(Число действий порядка m+n).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2009, 21:44     Не используя дополнительных массивов переставить начало и конец массива
Посмотрите здесь:

Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания C++
C++ Отсортировать элементы массива: отрицательные – в начало массива, положительные – в конец
C++ Переставить первые М-элементов в конец массива
Файловый ввод/вывод. Во всех словах строки переставить все входящие буквы «а» в начало слова, а буквы «я» – в конец C++
C++ Для каждого из массивов все отрицательные элементы переместить в начало массива, а все положительные — в конец
Не используя других массивов, переставить элементы заданного массива в обратном порядке C++
Переставить нули и двойки в начало массива C++
C++ В массиве целых чисел, рассматриваемом как соединение двух его отрезков, переставить начало и конец
C++ Маcсив: Не используя других массивов, переставить его элементы в обратном порядке.
C++ Переставить все входящие буквы «а» в начало слова, а буквы «я» – в конец
Элементы массива, стоящие на нечётных позициях, переставить в начало массива, а на чётных - в конец C++
C++ Переставить первые М-элементов в конец массива

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XaosLord
3 / 3 / 1
Регистрация: 18.03.2009
Сообщений: 20
18.03.2009, 01:17     Не используя дополнительных массивов переставить начало и конец массива #2
На вскидку - посимвольно.
т.е. x[0] -> a, x[m+1] -> x[0], a -> x[m+1]
в "порядок" укладываешься... преобразование массива из 1к элемента сделаешь за 1.5к операций

Сбросить весь массив в строку с разделителями, а потом из нее засунуть обратно в нужном порядке... но это, наверное, нужно отнести к "Не используя дополнительных массивов".

Еще моя буйная фантазия придумала след: сделать функцию-прослойку, пересчитывающую индекс элемента. Т.е. идет обращение к эл № m+5, а функция корректирует и отправляет к элементу №5... Но это ресурсоемко.
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
18.03.2009, 02:55     Не используя дополнительных массивов переставить начало и конец массива #3
ротация вправо
Вложения
Тип файла: zip arr_swap_subs.zip (611 байт, 72 просмотров)
Yandex
Объявления
18.03.2009, 02:55     Не используя дополнительных массивов переставить начало и конец массива
Ответ Создать тему
Опции темы

Текущее время: 00:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru