-
+8
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
void SaveEncryptedFile( const char *text, int len, const char* filename )
{
char* pEncryptedText = new char[strlen(text)+1];
string x1 = "you'll";
string x2 = "never";
string x3 = "get a";
string x4 = "password";
char l_pBuf[255];
sprintf(l_pBuf,"%d",30*11/3);
string result = x1+x2+x2+x1+l_pBuf+x3;
encryptString(text,pEncryptedText,result.c_str(),strlen(text),result.length()); // там внутри xor
FILE* pFile = fopen(filename, "wb");
if (pFile)
{
fwrite(pEncryptedText,sizeof(char),len,pFile);
fclose(pFile);
}
delete[] pEncryptedText;
}
Нашёл в рабочем проекте. Для "расшифровки" файла используется ещё одна такая же функция.
Deacon,
07 Октября 2013
-
+8
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
const Registry & Registry::getInstance()
{
Registry *instance = RegistrySingleton::instance();
if (!instance->mRootNode) {
instance->load();
}
return *instance;
}
void Registry::load()
{
try {
// ...
if (!mReader) {
mReader = XMLReaderFactory::createXMLReader();
}
// ...
mReader->parse( ... );
} catch (...) {
// ...
throw; // удачи всем пользователям обрабатывать исключения xerces...
}
}
боян синглтонно-абстрактный для чтения xml конфигурации с помощью xerces.
и не только ошибки не обрабатаешь (потому что getInstance() их бросает, угадай какой именно вызов из сотен загружает конфигурацию), но и в добавок народ не впечатал как многопоточность сделать правильно (RegistrySingleton это специализация шаблона который синхронизирует инициализацию mInstance переменной, и только).
Dummy00001,
07 Октября 2013
-
+4
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
int eval (const Expr& e)
{
Match(e)
Case(const Value& x) return x.value;
Case(const Plus& x) return eval (x.e1)+eval(x.e2);
Case(const Minus& x) return eval(x.e1)−eval(x.e2);
Case(const Times& x) return eval(x.e1)∗eval(x.e2);
Case(const Divide& x) return eval(x.e1)/eval (x.e2);
EndMatch
}
Бьёрн Страуструп выбирает борщ.
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3449.pdf
http://www.linux.org.ru/forum/development/9525806
Заметим, что не только Страуструп раскаялся в прошлом. Кармак с энтузиазмом рассказывает, как с головой погрузился в Haskell и Scheme, объясняет, почему хаскель невероятно крут и почему сегодня он бы, вероятно, сделал QuakeScheme вместо QuakeC. Он пишет на хаскеле порт wolf3D.
LispGovno,
05 Октября 2013
-
+61
- 1
- 2
- 3
- 4
- 5
- 6
УЧИМСЯ ТРАЛИРОВАТЬ ВМЕСТИ С PragramistOtBoga
PragramistOtBoga: ЗДАРОВА ЛАЛКА АЗАЗА
ЛАЛАКА ПРАГРАМИСТ: ПРевет не тралируй миня пажалузта!!!!!!
PragramistOtBoga: Ты лах карочи))0))нульскопка Мамку С++ и бал азазазаза лалка затарлин))0
ЛАЛАКА ПРАГРАМИСТ: Супкпздц((9 миня апять затралил гиниальный траль PragramistOtBoga
Сиводня маэстра тралинга PragramistOtBoga научит вас тралиравать лалак
Штобы к завтра дамашку зделали! Смарите у миня праверю))0
PragramistOtBoga,
04 Октября 2013
-
+1
an0nym,
04 Октября 2013
-
+77
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
#include <iostream>
using namespace std;
int binsearch(int* arr, int s, int r, int l, int t){
int m=(l+r)/2;
if (*(arr+m) == s) return m; // t - искомое
if (m == l || m == r) return 0;
if (*(arr+m) < s) binsearch(arr, s, m, r, t);
else binsearch(arr, s, l, m, t);
}
int main()
{
int n, k;
cin >> k;
cin >> n;
int A[n-1];
for (int i = 0; i < n; i++){
cin >> A[i];
}
cout << binsearch(A, k, n-1, 0, 0);
}
Требуется найти число K в упорядоченном массиве из N элементов и
определить чему равен номер соответствующего элемента массива.
Если элемент не найден, то вывести 0.
Входные данные
В первой строке расположено искомое число К.
Во второй - количество элементов в массиве N <= 10000.
Далее расположены N целых чисел, упорядоченных по возрастанию.
Выходные данные
Выведите наименьший номер найденного значения, или 0, если элемент не найден.
Проблема у меня в том, что не получается найти минимальный из подходящих ( Помогите пофиксить!
aesc_smirnov,
03 Октября 2013
-
+12
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
#include <string>
#include <sstream>
#include <iostream>
int main() {
std::string str;
std::stringstream s("");
std::getline(s, str, '|');
std::cout << "good=" << s.good() <<
" bad=" << s.bad() <<
" fail=" << s.fail() <<
" eof=" << s.eof() << std::endl;
return 0;
}
good=0 bad=0 fail=1 eof=1
http://ideone.com/0Ceg8z
У меня один вопрос: нахуй так жить?
bormand,
30 Сентября 2013
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
void gte::loadProps(const char* fileName){
propMap.clear();
s3eFile* g_FileHandle = s3eFileOpen(fileName, "rb");
while (!s3eFileEOF(g_FileHandle)) {
char c1=0;
char c2=0;
s3eFileRead(&c1, 1, 1, g_FileHandle);
s3eFileRead(&c2, 1, 1, g_FileHandle);
int len = 0;
len = (c2 & 0xFF) | ( (c1 & 0xff) << 8);
if (len==0) continue;
char* textData = new char[len+1];
textData[len] = 0;
s3eFileRead(textData, sizeof(char), len, g_FileHandle);
char* pos = strchr(textData, ':');
string key(textData, pos - textData);
string value(pos + 2, textData + len - pos - 2);//(textData,
propMap[key] = value;
}
s3eFileClose(g_FileHandle);
}
Чтение строки, первые 2 байта - длинна.
Проект использует Marmalade SDK.
krypt,
27 Сентября 2013
-
+81
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
#include <iostream>
#include <cstdlib>
using namespace std;
int bin_search(int *A, int key, int low, int high){
if (low > high){
return 0;
}
int mid = ( low + high ) / 2;
if (A[mid] == key)
return mid+1;
else if( A[mid] < key)
bin_search(A, key, mid + 1, high);
else if (A[mid] > key)
bin_search(A, key, low, mid - 1);
}
int main()
{
int n, k;
cin >> k >> n;
int A[n-1];
for (int i = 0; i < n; i++)
{
cin >> A[i];
}
cout << bin_search(A, k, 0, n);
}
Нужно реализовать бинпоиск рекурсией, на вход значение искомого элемента,
число элементов и сам массив,
вывести номер минимального элемента равного искомому.
У меня откровенно говоря баг, не могу его откопать, помогите!!!
aesc_smirnov,
26 Сентября 2013
-
+2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
#if defined(_WIN32) || defined(_WIN64)
size_t size = message.size();
size_t size_buf = 1015;
size_t pointer = 0;
for (int i = 0; i < (size/size_buf) + 1 ; i++){
/*Делаем для красивого вывода. Пробел всегда один байт.
*Потому сматываем указатель буфера до первого пробела.*/
int buf = size_buf;
while (message[pointer+buf] != ' ')
buf--;
/*Здесь лечится косяк MinGw, буфер принимает по 1к байтов.
*Лечение производим создавая дополнительные буферы.*/
istringstream ss(message.substr(pointer,buf) );
std::cout << ss.rdbuf();
pointer += buf;
}
#else
std::cout << message;
#endif
Похоже плохая сборка MinGw.
http://govnokod.ru/13094
crastinus,
26 Сентября 2013