2 / 2 / 0
Регистрация: 18.12.2012
Сообщений: 77
|
|
1 | |
Из массива удалить минимальное число элементов так, чтобы оставшиеся шли по возрастанию12.01.2013, 02:05. Показов 10538. Ответов 40
Метки нет (Все метки)
Из массива удалить минимальное число элементов так, чтобы оставшиеся шли по возрастанию.
на языке С++, через цикл for, самым легким способом, я только начинаю учить язык пожалуйста..
0
|
12.01.2013, 02:05 | |
Ответы с готовыми решениями:
40
Из массива удалить минимальное число элементов так, чтобы оставшиеся шли по возрастанию Дана последовательность чисел. Требуется вычеркнуть из нее минимальное количество чисел так, чтобы оставшиеся шли в порядке возрастания. Вычеркнуть минимальное количество чисел, чтобы оставшиеся шли в порядке возрастания (дин. программирование) Удалить из массива минимальное количество элементов, чтобы массив стал упорядочен по возрастанию |
15 / 15 / 11
Регистрация: 06.12.2012
Сообщений: 131
|
|
12.01.2013, 03:15 | 21 |
Пока выполняется mas[i]<mas[i+1] все нормально, как только перестает выполняться начинаем сравнивать последующие элементы с тем mas[i] до конца массива или до того момента пока снова не будет выполняться mas[i]<mas[i+n]
Оно?
0
|
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
|
|
12.01.2013, 03:34 | 22 |
0 1 2 3 8 2 3 4 5 9 10
выделит 0 1 2 3 8 и 2 3 4 5 9 10 Первый короче, удалит элементы 2 3 и 8 или 3 и 8 как условие поставить Ответ будет: 0 1 2 3 4 5 9 10 Добавлено через 1 минуту 8 2 3 удалит... И что неправильно?
0
|
12.01.2013, 03:36 | 23 |
в пердыдущем посте немного неудачный контрпример подобрал, который не опровергал твоё предложение... Вот этот лучше:
пример 3 6 7 9 4 8 11 12 твоя программа выделит 2 подмассива 3 6 7 9 4 8 11 12 Рассмотрит, из какого лучше удалить лишние элементы если из первого, то результат 3 4 8 11 12 если из второго, то результат 3 6 7 9 12 и твоя программа выдаст тот, что длиннее(или любой, в случае, когда одинаковы) 3 4 8 11 12 верный же вариант 3 6 7 9 11 12 Так что, не всё так просто.
0
|
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
|
|
12.01.2013, 03:55 | 24 |
Здесь согласен, неверно)
Добавлено через 4 минуты Ну, тогда, еще в условие выборку на границах массивов организовать, и затем уже выбрать наибольший вариант Добавлено через 3 минуты Я в смысле убывающий промежуток находить, перекрывающий два найденных возрастающих, а затем смотреть что следует удалять... Добавлено через 2 минуты Это частный случай, он один, ну, возможно, еще сможет быть один-два, это нужно проверить точно, но так или иначе это будет уже на соседних границах массивов, и легко добавить в условие выборки Добавлено через 4 минуты Лучше нарисовать эти два массива в виде кривых и посмотреть все возможные варианты....так точно можно будет узнать, все ли случаи проходят проверку...
0
|
70 / 64 / 5
Регистрация: 09.06.2012
Сообщений: 291
|
||||||
12.01.2013, 04:21 | 25 | |||||
DONE!
0
|
15 / 15 / 11
Регистрация: 06.12.2012
Сообщений: 131
|
|
12.01.2013, 04:34 | 26 |
in: 0 1 2 3 8 2 3 4 5 9 10
stdout: 0 1 2 3 8 0 0 0 0 9 Вывод: не работает точнее не совсем корректно
0
|
70 / 64 / 5
Регистрация: 09.06.2012
Сообщений: 291
|
|
12.01.2013, 04:38 | 27 |
Серьёзно ?
0
|
15 / 15 / 11
Регистрация: 06.12.2012
Сообщений: 131
|
|
12.01.2013, 04:42 | 28 |
советую вам посмотреть тему с самого начала)
и ваш скрин совсем не нужен, тоже самое есть в моем сообщение, + как мне кажется в конце не хватает 10ки --- 10ка сути не меняет, работает не совсем так как надо
0
|
70 / 64 / 5
Регистрация: 09.06.2012
Сообщений: 291
|
||||||
12.01.2013, 04:50 | 29 | |||||
Пока можно сделать так
0
|
15 / 15 / 11
Регистрация: 06.12.2012
Сообщений: 131
|
|
12.01.2013, 05:03 | 30 |
Конечно без обид, но яйца в профиль
in: 0 1 2 3 8 2 3 4 5 9 10 stdout: 1 2 3 8 9 Еще и 0 куда-то делся) http://liveworkspace.org/code/2FNbzz$2 Но тут уж скорее дело в не точно поставленном условие. Автор и сам точно не знает, что ему нужно
0
|
70 / 64 / 5
Регистрация: 09.06.2012
Сообщений: 291
|
|
12.01.2013, 05:06 | 31 |
Fareiro,
0
|
15 / 15 / 11
Регистрация: 06.12.2012
Сообщений: 131
|
|
12.01.2013, 05:09 | 32 |
согласны?
0
|
70 / 64 / 5
Регистрация: 09.06.2012
Сообщений: 291
|
|
12.01.2013, 05:12 | 33 |
Fareiro, Согласен,но в данном случаи,по заданию результат такой,каким он должен быть по заданию.
0
|
15 / 15 / 11
Регистрация: 06.12.2012
Сообщений: 131
|
|
12.01.2013, 05:16 | 34 |
Нет, не верно. По заданию, нужно удалить минимальное число элементов...
В массиве 1 2 5 6 3 4 4 5 9 Есть 2 подмассива: 1 2 3 4 5 9 1 2 5 6 9 Для первого нужно удалить: 3 элемента Для второго: 4 Следовательно первый вариант правильный, а ваш выдает второй, что уже не соответствует условию) Я вас убедил?)
0
|
70 / 64 / 5
Регистрация: 09.06.2012
Сообщений: 291
|
|
12.01.2013, 05:36 | 35 |
Fareiro, Я уже писал,выполнил так как было написано в задание . Придет тс будим,уточнять.
Не по теме: нужно удалить минимальное число элементов звучит как то,не корректно. Добавлено через 11 минут Всё у меня верно,если идёт 2 4 3 5 6, то верно будит 2 4 5 6,а не 2 3 4 5 6.Это не сортировка.
0
|
15 / 15 / 11
Регистрация: 06.12.2012
Сообщений: 131
|
|
12.01.2013, 05:44 | 36 |
0
|
9 / 9 / 1
Регистрация: 01.07.2012
Сообщений: 138
|
|
12.01.2013, 05:52 | 37 |
Считайте, что нужно найти максимальное (по числу элементов) упорядоченное подмножество данного массива с сохранением исходного порядка следования.
0
|
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
12.01.2013, 06:08 | 38 | |||||
0
|
12.01.2013, 08:25 | 39 | ||||||||||
вот, надеюсь прокомментировал понятно, вроде работает Добавлено через 15 минут вот то же самое, только размер массива можно любой задать и одинаковые элементы убираются
0
|
1 / 1 / 1
Регистрация: 10.01.2013
Сообщений: 18
|
|
12.01.2013, 08:34 | 40 |
так ты удаляешь 4 числа, удалив 5 6 и 4 получишь: 1 2 3 4 5 9 Не по теме: мимо проходил
0
|
12.01.2013, 08:34 | |
12.01.2013, 08:34 | |
Помогаю со студенческими работами здесь
40
Вычеркнуть минимально возможное количество чисел так, чтобы оставшиеся шли в порядке возрастания Описать процедуру RemoveForInc(A, N), удаляющую из массива «лишние» элементы так, чтобы оставшиеся оказались упорядочены по возрастанию Требуется вычеркнуть минимально возможное количество чисел так, чтобы оставшиеся числа шли в порядке возрастания удалить из числа 3 цифры так, чтобы оставшиеся цифры составили наименьшее число. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |