Size: a a a

2021 July 05

SS

Sergey Skvortsov in supapro.cxx
Это не нужно тут
источник

T

The Pressbraker in supapro.cxx
читал про это в книге, что это используется для передачи данных в поток и из потока
источник

K

Kelbon in supapro.cxx
ну
1. Учись
2. создай класс диапазона, который будет выглядеть как будто просто диапазон от N до M, но внутри случайно перемешал начала диапазоном, допустим с размером K(ну 1000 скажем), и у него есть методы begin end и какие-то интересные итераторы, которые позволяют делать по такому диапазону range based for ( for( value : diapazon) { ... }
источник

DP

Denis Paukaev in supapro.cxx
у тебя тут нужно проверить факт что кто-то уже нашёл ответ, а не ждать этого
источник

T

The Pressbraker in supapro.cxx
да, но я не понял как. Поток должен сам смотреть и проверять флаг или же есть способ достучаться до потока во время его работы ему передать инфу напрямую?
источник

DP

Denis Paukaev in supapro.cxx
при старте можешь передать адрес атомика
источник

DP

Denis Paukaev in supapro.cxx
либо глобальным его сделать, что похуже
источник

TS

Till Schneider in supapro.cxx
for(; start < end && not_found; ++start)
источник

K

Kelbon in supapro.cxx
либо сделать объект над потоками, внутри которого будет атомик
источник

T

The Pressbraker in supapro.cxx
это я не умею еще
источник

K

Kelbon in supapro.cxx
что именно, создавать классы?
источник

SS

Sergey Skvortsov in supapro.cxx
Должен сам проверять флаг
источник

T

The Pressbraker in supapro.cxx
нашел вот такой мануал по потокам
 void func1( std::promise<int> p ) {
int res = 18;
p.set_value(res);
}
int func2 ( std::future<int> f) {
int res=f.get();
return res;
}
int main () {
std::promise<int> p;
std::future<int> f = p.get_future();
std::future<void> fu1 = std::async(func1, std::move(p) );
std::future<int> fu2 = std::async(func2, std::move(f) );
int x = fu2.get();
return 0;
}
источник

SS

Sergey Skvortsov in supapro.cxx
А как вообще задача сформулирована?)
Брутфорсить хеш звучит довольно подозрительно
источник

TS

Till Schneider in supapro.cxx
тебе не нужны не future, ни promise
источник

DP

Denis Paukaev in supapro.cxx
это не мануал, просто какой-то отрывок
источник

DP

Denis Paukaev in supapro.cxx
почитай просто про потоки
источник

K

Kelbon in supapro.cxx
как поток может обещать, что найдет, если у него в диапазоне не факт что есть ответ?))) хД
источник

T

The Pressbraker in supapro.cxx
дали задачу такую щас точно скажу ...  ТЗ. Разработчик. Подбор PIN по хешу.
 Есть MD5 хеш от пинкода из 8 цифр ‘0'…’9' (ASCII символов).
 На вход программы дается этот MD5 хеш.
 Программа должна перебором определить пинкод, от которого взят данный хеш.
Общие требования:
1. Максимальная скорость работы алгоритма перебора (многопоточность).
2. Минимальный расход оперативной памяти.
3. Понятный и аккуратный код.
4. Во время разработки необходимо использовать систему контроля версий git. (Как
вариант сделать приватный репозиторий на github'е.)
Требования C++:
1. Программа должна быть написана на C++, в виде проекта Visual Studio.
2. Реализовать возможностями стандартной библиотеки С++.
3. Для подсчета MD5 использовать Windows Crypto API или OpenSSL.
источник

K

Kelbon in supapro.cxx
круто, давайте тестовое задание чатом решать
источник