- 1
mostr["гоблин"].adddialog(dialog);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+147
mostr["гоблин"].adddialog(dialog);
Гейдев, ну ты понел.
+997
vector<string> task(vector<string> words, string abbrev)
{
vector<string> results;
int index = 0;
while (index < words.size())
{
bool t = true;
string result = "";
for (int i = 0; i < abbrev.size(); i++)
{
if ( (index+i)<words.size() )
{
if (words[index+i][0] == abbrev[i])
{
result+=words[index+i]+" ";
}
else
{
t = false;
break;
}
}
else t = false;
}
if (t) results.push_back(result);
index++;
}
return results;
}
Поиск всех возможных расшифровок аббревиатуры в векторе строк. И пофиг что существует алгоритм search.
+161
data::TokenPtr lexer::ReadToken::operator()(AnalyzeState analyze_state)
{
ReadTokenNum handler01( nullptr );
ReadTokenName handler02(&handler01);
ReadTokenPlus handler03(&handler02);
ReadTokenMinus handler04(&handler03);
ReadTokenDiv handler05(&handler04);
ReadTokenMult handler06(&handler05);
ReadTokenAssign handler07(&handler06);
ReadTokenSmcln handler08(&handler07);
ReadTokenLpar handler09(&handler08);
ReadTokenRpar handler10(&handler09);
ReadTokenHandler &start_handler = handler10;
return
start_handler.Read(analyze_state);
}
Вот такая красота получилась при использовании паттерна 'цепочка обязанностей'.
+1002
template<class fwd, class Predicat>
fwd findLast(fwd one, fwd last, Predicat P)
{
if (one == last) return one;
fwd s = one;
fwd tt = ++s;
for ( ; s!=last; )
{
s = find_if(s, last, P);
if (s != last) { tt=++s; }
}
return tt;
}
Функция для поиска последнего вхождения элемента в контейнере STL с помощью алгоритма find_if.
+995
#include <stdio.h>
#include <conio.h>
#include <condefs.h>
int main() {
char str[]="любой текст";
int i=0;
while (str[i]!='\0') {
printf("%c", str[i++]^100);
if (str[i]=='\0') break;
printf("%c", str[i++]|10);
if (str[i]=='\0') break;
printf("%c", str[i++]&400);
if (str[i]=='\0') break;
}
printf("\n");
getch();
return 0;
}
Шифруется текст
+162
/**/
TCHAR* szFileType = _T("");
int ftype = JGetByte( hContact, "AvatarType", PA_FORMAT_UNKNOWN );
if( ftype == PA_FORMAT_UNKNOWN ) {
WIN32_FIND_DATA ffd;
HANDLE hFind = FindFirstFile( ptszDest, &ffd );
if ( hFind != INVALID_HANDLE_VALUE ) {
wchar_t* szExt = m_strrchrs( ffd.cFileName, ".\\" );
if( szExt ) {
if( !_tcsicmp( szExt, _T(".jpg") ) )
ftype = PA_FORMAT_JPEG;
else if( !_tcsicmp( szExt, _T(".png") ) )
ftype = PA_FORMAT_PNG;
else if( !_tcsicmp( szExt, _T(".gif") ) )
ftype = PA_FORMAT_GIF;
else if( !_tcsicmp( szExt, _T(".bmp") ) )
ftype = PA_FORMAT_BMP;
if( ftype != PA_FORMAT_UNKNOWN )
JSetByte( hContact, "AvatarType", ftype );
}
FindClose( hFind );
}
}
switch( ftype ) {
case PA_FORMAT_JPEG: szFileType = _T("jpg"); break;
case PA_FORMAT_PNG: szFileType = _T("png"); break;
case PA_FORMAT_GIF: szFileType = _T("gif"); break;
case PA_FORMAT_BMP: szFileType = _T("bmp"); break;
}
http://infium.googlecode.com/svn/trunk/Jabber/jabber_misc.cpp
+1011
#define RETURN_OR_THROW_EXCEPTION_IF_ERROR(Expression, Exception) if(!Expression) throw Exception; return Expression
+991
unsigned long long int value=Bin<unsigned long long int>("1111111111111111111111111111111111111111111111111111111111111111");
+1009
#pragma once
#include <vector>
#include <algorithm>
#include <exception>
using namespace std;
template<typename nodeT>
class Tree
{
Tree* root;
Tree(Tree* _root, nodeT value)
: root(_root)
, Node(value)
{
}
vector<Tree> children;
public:
nodeT Node;
Tree(void) : root(nullptr) { }
Tree(const Tree& value)
: children(value.children)
, Node(value.Node)
, root(value.root)
{
}
virtual ~Tree(void) { }
const Tree& operator=(const Tree& value)
{
if(&value != this)
{
children = value.children;
for_each(children.begin(), children.end(), [this](Tree& tree)
{
tree.root = this;
});
Node = value.Node;
root = value.root;
}
return *this;
}
Tree& Root()
{
if(root == nullptr)
{
throw exception("already root");
}
return *root;
}
bool IsRoot() const
{
return root == nullptr;
}
Tree* Push(nodeT node)
{
children.push_back(Tree(this, node));
return &children.back();
}
Tree& operator[](typename vector<Tree>::size_type index)
{
return children[index];
}
vector<Tree*> Children()
{
vector<Tree*> result;
for(vector<Tree>::iterator i = children.begin(); i!=children.end(); i++)
{
result.push_back(&(*i));
}
return result;
}
typename vector<Tree>::iterator begin()
{
return children.begin();
}
typename vector<Tree>::iterator end()
{
return children.end();
}
};
Шаблон из http://govnokod.ru/6415.
+150
m_caster->HasAura(31866 || 31867 || 31868)
из одного эмулятора WoW Cataclysm