| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Алгоритм] Эффективный алгоритм |
| Автор: sol78 9.4.2008, 20:42 |
| 1)Как самым эффективным способом заполнить массив(или что то др.) уникальными случайными числамиб если: 1. колличесво чисел 100 в пределах от 1-100 2. колличество чисел 10 в пределах от 1-100? 2)Как реализовать поддержку синтаксиса регумярных выражений, исполюзуя возможности С (не надо кода, только алгоритм)? |
| Автор: SoWa 10.4.2008, 09:38 |
| 1) цикл и рандом 2) Польская запись(или обратная. Не помню точно как называется) |
| Автор: sol78 11.4.2008, 00:18 |
| SoWa, очень туманно, но наверное не то... |
| Автор: sol78 13.4.2008, 18:58 |
| Ау, неужели настолько сложно |
| Автор: Optimus 13.4.2008, 20:39 |
Предложу такой вариант: 1)Заполняем массив числами от 1-100 2)Потом по принципу тасования карт меняем числа в массиве между собой: создаём цикл с счётчиком в интервале от начала массива до его половины, в цикле генерируем число в интервале от половины массива до его конца, и меняем между собой элемент массива который соответствует счётчику и элемент массива который сгенерировался, получится что мы сгенерируем уникальные случайные числа, тасовать эти числа можно и несколько раз. для первого элемента массива генерируем число в интервале 1-10 для второго элемента массива генерируем число в интервале 11-20 для третьего элемента массива генерируем число в интервале 21-30 ... для десятого элемента массива генерируем число в интервале 91-100 |
| Автор: sol78 15.4.2008, 23:15 | ||
Optimus, значит алгоритм 10 из 100 превращается в 1 из 10 и т.д. - это не совсем то что нужно.
Я не совсем его поняла....можешь описать поподробнее? |
| Автор: Optimus 16.4.2008, 20:57 | ||
Опишу для колличество чисел 10 в пределах от 1-10
тасовать можно и несколько раз. |