Использование GTK + в Visual C++

Если у Вас есть конечный список возможных случайных чисел (т.е. 1 - 100), то решение Кента хорошо.

Иначе нет никакого другого хорошего способа сделать это без цикличного выполнения. Проблема - Вы, ДОЛЖЕН сделать цикл, если Вы получаете дубликат. Мое решение должно быть эффективным, и цикличное выполнение не должно быть еще много, чем размер Вашего массива (т.е. если Вы хотите 20 уникальных случайных чисел, могло бы потребоваться 25 повторений в среднем.), Хотя количество повторений ухудшается больше чисел, Вам нужно, и меньшее макс. Вот мой выше кода, измененного для показа, сколько повторений необходимо для данного входа:

require 'set'

def rand_n(n, max)
    randoms = Set.new
    i = 0
    loop do
        randoms << rand(max)
        break if randoms.size > n
        i += 1
    end
    puts "Took #{i} iterations for #{n} random numbers to a max of #{max}"
    return randoms.to_a
end

я мог записать этот код для ВЗГЛЯДА больше как Array.map, если Вы хотите:)

6
задан Xinus 3 October 2009 в 08:59
поделиться

2 ответа

Здесь есть несколько старых инструкций и здесь . Возможно, вам придется настроить их для своих нужд.

GTK также имеет несколько списков рассылки , к которым вы можете присоединиться, чтобы обсудить это. Лучшие списки для этого конкретного вопроса: gtk-app-devel-list@gnome.org или gtk-list@gnome.org.

На irc.gnome.org также есть канал irc, # gtk +. По моему опыту, вы получаете либо быстрые ответы, либо их нет вообще.

Если можете, вы можете попробовать переключиться с Visual C ++ на mingw, систему сборки для Windows, подобную Unix / Linux. Очень немногие разработчики GTK используют его в Windows, и почти все они используют mingw.

3
ответ дан 8 December 2019 в 17:23
поделиться

Для любого типа библиотеки, сначала вам нужно убедиться, что у вас есть доступные файлы библиотеки и связанные заголовки. После того, как они у вас есть, вы просто изменяете свойства своих проектов в каталогах C ++> General> Additional Include, чтобы указать путь к заголовкам, и в Linker> General> Additional Library Dependencies, чтобы содержать путь к вашим файлам lib. Затем в Linker> Input> Additional Dependencies вы добавляете имя файла (а не полный путь) необходимых вам LIB-файлов.

сначала вам нужно убедиться, что у вас есть доступные файлы библиотеки и связанные заголовки. После того, как они у вас есть, вы просто изменяете свойства своих проектов в каталогах C ++> General> Additional Include, чтобы указать путь к заголовкам, и в Linker> General> Additional Library Dependencies, чтобы содержать путь к вашим файлам lib. Затем в Linker> Input> Additional Dependencies вы добавляете имя файла (а не полный путь) нужных вам файлов .lib.

сначала вам нужно убедиться, что у вас есть доступные файлы библиотеки и связанные заголовки. После того, как они у вас есть, вы просто изменяете свойства своих проектов в каталогах C ++> General> Additional Include, чтобы они содержали путь к заголовкам, и в Linker> General> Additional Library Dependencies, чтобы содержать путь к вашим файлам lib. Затем в Linker> Input> Additional Dependencies вы добавляете имя файла (а не полный путь) нужных вам файлов .lib.

3
ответ дан 8 December 2019 в 17:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: