Вопрос № 87487: Добрый день. Подскажите пожалуйста как можно реализовать алгоритм Кнута, Мориса и Пратта. Мой мэйл - grot.86@mail.ru...Вопрос № 87493: Можно ли к проекту добавить свои шрифты, которые будут отображаться и на других машинах?...Вопрос № 87531: Здраствуйте
Пытаюсь с помощью удаленных потоков внедриться в процесс, но ничего не выходит. CreateRemoteThread вызывается нормально в hThread чего-то записывает. Но DllEntryPoint не вызывается. Помогите plz найти ошибку...Вопрос № 87560: Здравствуйте ув. коллеги!
Такой вопрос: есть класс, в котором в качестве переменной - имя объекта этого класса. Что нибудь типа этого:
class GeomObject
{
public:
char name[128];
}
Я перегружаю оператор <...Вопрос № 87563: Здравствуйте эксперты!
Есть программа (игровой движок) в которой должен проигрываться звук. Функция воспроизведения будет работать в отдельном потоке.
Как можно организовать управление этим потоком? Т.е. должна быть возможность запу...
Вопрос № 87.487
Добрый день. Подскажите пожалуйста как можно реализовать алгоритм Кнута, Мориса и Пратта. Мой мэйл - grot.86@mail.ru
Отвечает: Sov
Здравствуйте, KOTOV ALEKSANDR IVANOVICH!
Суть алгоритма:
Пользователь вводит шаблон word в тексте выделяется некоторое слово slovo. Далее к слову
word#slovo применяется алгоритм КМП(# спец символ не встречающийся на в word на в slovo)
Далее следуя алгоритму КМП строится массив l. word бедет подстрокой в slovo тогда и только тогда, когда в массиве l есть число равное длине word.
Подробнее-в интернете. Привожу код взятый опять же в интернете
Приложение:
Ответ отправил: Sov (статус: 3-ий класс)
Ответ отправлен: 18.05.2007, 17:39 Оценка за ответ: 5 Комментарий оценки: Ответ полностью раскрывает суть вопроса.
Отвечает: kool
Здравствуйте, KOTOV ALEKSANDR IVANOVICH!
См. приложение. Сам не проверял - взято и нета.
Удачи!
Приложение:
--------- I am.
Ответ отправил: kool (статус: Студент)
Ответ отправлен: 18.05.2007, 22:54
Отвечает: Olegzp
Здравствуйте, KOTOV ALEKSANDR IVANOVICH!
даю статью но она на Pascal думаю разберешся
сточник http://ric.uni-altai.ru/Fundamental/pascal1/lab15/l15-teor.htm
Приложение:
Ответ отправил: Olegzp (статус: 2-ой класс)
Ответ отправлен: 20.05.2007, 12:55
Вопрос № 87.493
Можно ли к проекту добавить свои шрифты, которые будут отображаться и на других машинах?
Отправлен: 18.05.2007, 14:04
Вопрос задал: WraiZ (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Sov
Здравствуйте, WraiZ!
Включите шрифты в файл ресурсов.
Для временной регистрации шрифтов в системе используется функция AddFontResource
Для удаления RemoveFontResource
Приложение:
Ответ отправил: Sov (статус: 3-ий класс)
Ответ отправлен: 18.05.2007, 17:25
Вопрос № 87.531
Здраствуйте
Пытаюсь с помощью удаленных потоков внедриться в процесс, но ничего не выходит. CreateRemoteThread вызывается нормально в hThread чего-то записывает. Но DllEntryPoint не вызывается. Помогите plz найти ошибку
Приложение:
Отправлен: 18.05.2007, 17:54
Вопрос задал: Sov (статус: 3-ий класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: kool
Здравствуйте, Sov!
Скорее всего нужно указывать полное имя библиотеки.
Т.е. - полный путь до нее.
Удачи!
--------- I am.
Ответ отправил: kool (статус: Студент)
Ответ отправлен: 19.05.2007, 11:53 Оценка за ответ: 3 Комментарий оценки: Спасибо за ответ, проблема решена. В dll надо экспортировать какую-нибудь функцию. Тогда все нормально работает. Хотя я не понимаю почему 1 вариант не работал
Вопрос № 87.560
Здравствуйте ув. коллеги!
Такой вопрос: есть класс, в котором в качестве переменной - имя объекта этого класса. Что нибудь типа этого:
class GeomObject
{
public:
char name[128];
}
Я перегружаю оператор < (меньше) для использования сортировки по именам (sort для std::vector):
do
{
if (*pt1 > *pt2) return false;
if (*pt1 < *pt2) return true;
}
while (*pt1++ && *pt2++);
return (*pt2);
}
На что компилятор выбрасывает ворнинг:
warning #144: a value of type "const char *" cannot be used to initialize an entity of type "char *"
Как написать, чтобы было правильно?
Отправлен: 18.05.2007, 21:37
Вопрос задал: Ross (статус: 9-ый класс)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 10)
Отвечает: Mystic
Здравствуйте, Ross!
bool GeomObject::operator < (const GeomObject & g)
Объект g у Вас является константой, т.е. все его члены нельзя будет изменять (становятся const). А в строке char *pt2 = g.name; подразумевается, что pt2 может изменять то, что находится по адресу g.name. Поэтому компилятор выдает ошибку. Просто измените эту строку на
const char *pt1 = name, *pt2 = g.name;
Так должно заработать.
И просто совет: *pt2++, лучше все-таки написать *(pt2++), поскольку так все намного понятнее (для удобства чтения кода), поскольку далеко не всем это очевидно.
Удачи.
Ответ отправил: Mystic (статус: 6-ой класс)
Ответ отправлен: 18.05.2007, 22:10 Оценка за ответ: 5 Комментарий оценки: Спасибо, так работает. Ток непонятно почему компилятору пофиг изменение const char * pt2 (в строке *(pt2++))
Ответ отправил: Ilkras (статус: 10-ый класс)
Ответ отправлен: 19.05.2007, 01:05 Оценка за ответ: 4 Комментарий оценки: Такой каст не проходит... Видимо потому что g.name все равно остается членом константного объекта const GeomObject g
Отвечает: Терсков Сергей
Здравствуйте, Ross!
Для того чтобы выполнить такое приведение необходимо использовать const_cast. Но откуда вы взяли этот код ? Например вот эту строку...
return (*pt2);
когда функция возвращает bool. И если вы используете STL, то к чему все эти премудрости ? Гораздо проще использовать код подобный коду в приложении.
Приложение:
Ответ отправил: Терсков Сергей (статус: 9-ый класс)
Ответ отправлен: 21.05.2007, 02:47
Отвечает: Sergey A. Wedensky
Здравствуйте, Ross!
А по-моему проще вообще заменить Ваше сравнение строк на вызов strcmp(). Она и принимает const char*, да и работает по-любому быстрее - на асме написана.
Ответ отправил: Sergey A. Wedensky (статус: Студент)
Ответ отправлен: 21.05.2007, 09:56
Вопрос № 87.563
Здравствуйте эксперты!
Есть программа (игровой движок) в которой должен проигрываться звук. Функция воспроизведения будет работать в отдельном потоке.
Как можно организовать управление этим потоком? Т.е. должна быть возможность запуска определенного трека в бэкграунде, звуков, отвечающих событиям игры. Кроме того нужна обратная связь: поток должен сигнализировать, когда трек заканчивается и т.п.
Отправлен: 18.05.2007, 21:46
Вопрос задал: Ross (статус: 9-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: kool
Здравствуйте, Ross!
Для этого используются объекты
синхронизации потоков такие как
События, Мьютексы, критические секции, семафоры.
Но это очень большая тема. Ее здесь не объять.
Удачи!
--------- I am.
Ответ отправил: kool (статус: Студент)
Ответ отправлен: 18.05.2007, 22:51 Оценка за ответ: 5 Комментарий оценки: Спасибо. Видимо стоит полистать Рихтера... Напишите, если не сложно, в форум пару ссылок по теме.