![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
![]()
В общем задание:
Дан массив допустим: 1,2,3,4,5,6,7,8,9 Сначала удаляются все элемента которые имеют четный индекс, потом те которые имеют нечетный индекс, и так пока не останется один элемент. То есть, в результате преобразования нашей строки получим. Строка: 1 2 3 4 5 6 7 8 9 Удаляем элементы с четными индексами 1 2 3 4 5 6 7 8 9 Получаем 1 3 5 7 9 Теперь удаляем те у которых индекс нечетный 1 3 5 7 9 Получаем 3 7 Теперь с четным индексом 3 7 Остается 3 Ответ 3 Пока разобрался только с удалением конкретного эл-та и сдвигом массива Вот набросал: Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 13.10.2011
Сообщений: 143
|
![]()
Обязательно нужна программа, выполняющая алгоритм, или нужен ответ?
Тут, явно прослеживается определенная периодичность в ответе: 1 1 3 3 11 11 43 43, то есть если считать элементы массива с единицы, через каждые два, следующий равен 4 * предыдущий - 1. Это можно доказать, если нужно, а с формулой работать уже проще для получения ответа. Если нужна реализация алгоритма, можно просто хранить доп переменную, показывающую удалить ли нечетные или четные элементы. Соответственно, в зависимости от нее запускать алгоритм удаления. Если нужно, могу расписать подробнее.
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.
![]() Последний раз редактировалось Lasur; 23.10.2011 в 03:38. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а попробуйте так:
Код:
|
![]() |
![]() |
![]() |
#4 |
In progress...
Форумчанин
Регистрация: 25.09.2011
Сообщений: 161
|
![]()
Вроде работает но во 1м проходе какая то ошибка. Вот скрин
http://savepic.su/447013.jpg То есть ввели N=5 строка 1 2 3 4 5 удаляем четные то есть 2 4 должны получить строку 1 3 5 а получаем 1 3 3 Но ответ как то верный получается =)) При вводе n=10 уже не правильно считает... Ищу ошибочку. Последний раз редактировалось Stilet; 23.10.2011 в 12:55. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
А! Позор на мою голову!
в моём коде выше ОШИБКА! Просто случайно она не сильно проявлялась. цикл сдвига то J - а я там случайно i написал... Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
Хе. забавненькая задачка... решение на C++ имеет некоторые особенности, связанные с тем, что функтуры в stl-алгоритмы передаются по значению. в итоге пришлось немного извратиться(:
Код:
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
Последний раз редактировалось Rififi; 23.10.2011 в 13:50. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
удаление элементов | ensoleille | Помощь студентам | 4 | 16.01.2011 23:27 |
Записать в массив Z подряд семь нулевых элементов массива R,состоящего из N элементов.(Язык QBasic) | Лиза) | Помощь студентам | 0 | 11.01.2011 16:02 |
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. | Marishkaa | Помощь студентам | 2 | 12.01.2010 16:54 |
массивы. удаление элементов | Ananim-Pbl6ak | Паскаль, Turbo Pascal, PascalABC.NET | 25 | 09.06.2009 11:07 |
Дан массив из N элементов (чисел),определить количество элементов кратных 3. | Woha | Общие вопросы C/C++ | 2 | 08.12.2008 13:12 |