Форум программистов, компьютерный форум CyberForum.ru

Подтормаживающий рандом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шаблонные классы. Присвоение к указателю и приведение типов http://www.cyberforum.ru/cpp-beginners/thread929623.html
Добрый вечер, ув. форум, есть к вам вопрос. Есть род. абстрактный класс: ParentAbstact Есть два наследника: ChildOne : public ParentAbstact и ChildTwo : public ParentAbstact Есть шаблонный класс: TempClass <T> Есть глобальные экземпляры: extern TempClass<ChildOne> childOne и extern TempClass<ChildOne> childTwo Это всё из приватного фреймворка, к сожалению:cry:, дополнительную информацию я...
C++ dll 1. Можно ли использовать DLL, созданную на одном языке программирования в программе на другом языке? 2. Я так понял, DLL работает только под Windows. Есть ли возможность сделать библиотеку функций, чтобы ее можно было использовать в любой ОС, но так чтобы у пользователя библиотеки не было доступа к исходному коду? http://www.cyberforum.ru/cpp-beginners/thread929606.html
C++ Шаблоны и параметр по умолчанию
Добрый день. Вроде всё делаю по учебнику, но компилятор не пропускает: #include <iostream> #include <vector> #include <cstdlib> template<class T> bool DefaultComparand(const T &, const T &); template<class T, class Function = DefaultComparand<T>> void Ssort(std::vector<T>& base, Function fn = DefaultComparand<T>() )
C++ Указатель вне корректного диапазона
void f(T a) { T v; T p* = &v; p--; *p = a; // тут p вне корректного диапазона, почему? } объясните этот момент плиз, я так понял, что когда мы дикрементируем указатель (p--), то т.к. указатель ссылался на начальный элемент массива типа T, то теперь он может ссылаться на другой тип, типа вышел из корректного lиапазона. Но почему не будет работать присваивание корректного адреса. Или...
C++ Погрешность вычислений http://www.cyberforum.ru/cpp-beginners/thread929580.html
Читаю книгу Дейтелов "Как программировать на С++", попалась следующая задача, где нужно вводить кол-во бензина, пройденный путь, исходя из этих данных вычислять миль/галлон и вычислить средний расход бензина, когда закончится ввод. Вроде все сделал правильно, но когда ввожу данные которые приведены в качестве примера у авторов, у меня средний расход считается почему - то с очень большой...
C++ Битовые операции Здраствуйте, помогите, пожалуйста! Надо написать три функции, используя только битовые (для первых двух) и только битовые и арифметические операции (для третей), которые: 1) Функция, которая возвращает 1, если значения битов в двух заданых позициях беззнакового длинного целого числа совпадают. 2) Функция, которая меняет местами соседние группы из 16 битов в заданом беззнаковом длинном... подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
27.07.2013, 21:16     Подтормаживающий рандом
Бендерродригез, ещё бы! Вы поставили бесконечный цикл с выходом только в том случае, когда случайным образом программа сможет поставить яблоко в место, где нет змеи. Теоретически, программа может навечно зависнуть при первом же ходе, ведь пусть даже поле и 23 на 28, а значит кол-во вариантов 23*28, все равно может выпасть подряд over9000 числа 1х1, где расположена змейка (на то он и рандом). Что уж говорить о том, если змея будет занимать, допустим, 95% поля (не так уж и сложно это сделать) - вот уж где точно может намертво зависнуть.
Как вариант, сделайте массив свободных клеток и уже затем rand() % massiveOfFreeCells.size()
 
Текущее время: 12:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru