| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Pascal] Выбор в массиве определенных членов. |
| Автор: InviZible 7.10.2006, 12:34 | ||
| Даны натуральные n, целые числа a1......an. Внутри данной последовательности могут быть повторяюшиеся члены. Получить числа. взятые по одному из каждой группы равных членов. я делал так :
Но мою лабуду заброкавали. Прога работает, но если вводить: n=4, а потом 3 3 3 3, то фигня получается. Так же проблема с нулями. Сказали, что нужно переделать. Заранее спасибо. |
| Автор: comtat 7.10.2006, 12:44 |
фигня в смысле, что выводит по несколько раз тройки (3) ?? |
| Автор: InviZible 7.10.2006, 12:56 |
| Ух ты, спасибо. Как быстро. Ты меня всегда спасаешь. Но введи 4 а потом 3 3 2 1 и смотри, что он выдаст: 3 2 1 а нужно только 3 или 4 , а потом 1 2 3 4, будет 1 2 3 4 а нужно ничего Добавлено @ 12:58 comtat, да |
| Автор: Kuvaldis 7.10.2006, 13:03 |
| InviZible, тогда сначала сделать сортировку исходного массива. Ты ж даже, похоже, и не пытался понять логику алгоритма, который тебе предложил VOLVO: он основан на идее, что все повторяющиеся элементы идут подряд |
| Автор: comtat 7.10.2006, 13:10 |
| либо заводить еще массив (B) размерностью n в которой писать число из группы если его там до этого небыло |
| Автор: volvo877 7.10.2006, 13:11 | ||
InviZible, задание внимательно читаем?
И что? В массиве <1 2 3 4> есть 4 группы по одному члену... Вот ты их и печатаешь... Kuvaldis, сортировать нельзя, группы перемешаются... |
| Автор: InviZible 7.10.2006, 13:22 |
| нет, этоо вы не поняли. Например, есть числа 10 20 30 10 55 44 11 20 вывести надо только 10 20 это точно! |
| Автор: Kuvaldis 7.10.2006, 13:24 | ||||
volvo877,
Прочитал внимательнее, согласен с тобой. InviZible, если хочешь, чтобы выводились элементы из групп, в которых более одного элемента, то модифицированный вариант решения задачи Volvo.
|
| Автор: InviZible 7.10.2006, 13:30 |
| Уже ближе, но не так. Введи n=6 и числа 6 7 8 8 7 8 будет только 8, а где же 7? |
| Автор: volvo877 7.10.2006, 13:39 | ||
|
| Автор: Kuvaldis 7.10.2006, 13:39 |
| Тогда сортировка и первоначальный вариант Volvo |
| Автор: InviZible 7.10.2006, 19:45 |
| Нужно именно так, как я говорю. Т.е. если есть числа 7 8 21 23 8 7 2 1 7 8 то вывести 7 и 8 Уж вот такая у меня проблема. |
| Автор: Kuvaldis 7.10.2006, 20:03 | ||
| InviZible, Тогда сортировка и мой вариант решения задачи
после сортировки 1 2 7 7 7 8 8 8 23 21 теперь запускаешь мой вариант который и выдаст 7 8 |
| Автор: InviZible 9.11.2006, 19:14 | ||
Всем спасибо, вот мой вариант
|