- 1
- 2
- 3
- 4
#include <iostream.h>
#define TRUE 1
#define FALSE 0
typedef int Boolean;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+19
#include <iostream.h>
#define TRUE 1
#define FALSE 0
typedef int Boolean;
+13
#include <iostream>
#include <vector>
#include <stdlib.h>
#include <time.h>
using std::vector;
void print_vec(const vector<int> v)
{ /* Print Vector */
for(vector<int>::size_type i(0); i!=v.size(); ++i)
std::cout << v[i] << (i!=v.size()-1 ? "|":"\n");
}
bool sort_vec(const vector<int> v)
{ /* Return True if vector sorted */
bool b(true);
for(vector<int>::size_type i(v.size()-1);i!=0;--i)
if (v[i]<v[i-1]) {b=false;}
return b;
}
int main()
{
vector<int> VectorForNumber;
const unsigned int ConstMaxElement(10);
srand(time(NULL));
for(vector<int>::size_type i(0);i!=ConstMaxElement;++i)
VectorForNumber.push_back(rand() % 50); // Max Number. Unsigned int && 0<N!
while (not sort_vec(VectorForNumber))
{
print_vec(VectorForNumber);
std::swap(VectorForNumber[rand() % ConstMaxElement],VectorForNumber[rand() % ConstMaxElement]);
}
print_vec(VectorForNumber);
return 0;
}
Менять местами два элемента вектора до тех пор, пока он не станет отсортированным по возрастанию.
С выводом сортирует примерно за 30 секунд вектор из 10 элементов, без вывода - от 0.5-1 секунды.
+16
#include <iostream>
using namespace std;
class Function {
public:
Function() {
cout << "Function created!" << endl;
}
};
void Function() {
cout << "Function called" << endl;
}
int main() {
//class Function f;
class Function *f = new class Function;
Function();
return 0;
}
Бодаемся с семантическим анализатором.
+16
for ( std::size_t i = startIndex; i < indices.size(); ++i )
{
std::size_t idx = i % indices.size();
// Some code that uses idx ...
}
Обогреваем помещение.
+20
#include <iostream>
#include <string>
#include <utility>
#include <tuple>
#include <array>
#include <vector>
#include <algorithm>
#include <iterator>
int main() {
const std::array< const std::pair<const int, const std::string>, 3 > a {{{1,"2"}, {3,"4"}, {5,"6"}}};
std::vector<std::string> r;
std::transform(std::begin(a), std::end(a), std::back_inserter(r), static_cast<std::string const& (*)(const std::tuple<const int, const std::string>&)>(std::get<1, const int, const std::string>));
std::copy(std::begin(r), std::end(r), std::ostream_iterator<const std::string>(std::cout, " "));
return 0;
}
У нас новичку на собеседовании предложили продемонстрировать работу (без конкретики) с кортежами и итераторами.
Что вы можете сказать про его умения, характер и состояние психики? А вы бы этого взяли на работу?
http://liveworkspace.org/code/2DW59a$0
+16
for (;!pool.isEmpty() || started;) {
for (;!pool.isEmpty();) {
GramophoneEvent event = pool.poll();
event.apply(handler);
}
while для слабаков!
+12
#ifndef __MAKROS_H__
#define __MAKROS_H__
// ...
#define countof( array ) sizeof( array ) / sizeof( array[ 0 ] )
#define IS_CLUSTER( id ) id >= FIRST_CLUSTER_ID
#define CREATE_TEMP_FILE( autoclean_name, file_prefix ) \
char create_temp_file_file_mask[ MAX_PARAM_STR_LENGTH ]; \
snprintf( create_temp_file_file_mask, MAX_PARAM_STR_LENGTH, "%s/%sXXXXXX", config::tmp_path, file_prefix ); \
int create_temp_file_desc=mkstemp( create_temp_file_file_mask ); \
if(create_temp_file_desc<0) \
{ \
DEBUG_E( Interface, "Cannot create temporary file: %s\n", create_temp_file_file_mask ); \
ret=RET_CANTOPENFILE; \
CHECK_RET(sock, ret); \
return true; \
} \
close(create_temp_file_desc); \
autoclean autoclean_name( create_temp_file_file_mask );
#endif // __MAKROS_H__
Это просто праздник какой-то
+11
template <class T>
class autoptr
{
private:
T * _ptr;
public:
autoptr()
{
_ptr = 0;
}
autoptr( T * ptr )
{
_ptr = ptr;
}
~autoptr()
{
if(_ptr) delete _ptr;
}
operator T * ()
{
return _ptr;
}
T * operator -> ()
{
return _ptr;
}
T * get()
{
T *ret = _ptr;
_ptr = 0;
return ret;
}
};
template <class T>
class autoptr_mas
{
// ...
НУ ЗАЧЕМ?!
+24
void sleep_in_qt_ms(unsigned millisec) {
QMutex foo;
foo.lock();
foo.try_lock(millisec);
foo.unlock();
}
sleep в Qt - что, серьезно, чтоли?
особенно порадовало: Warning: Destroying a locked mutex may result in undefined behavior.
действительно, накой нам деструкторы?
+11
void Bitmap::flipRB()
{
int nBytes = w*h;
void *d = data;
__asm
{
mov edx, 0;
pixloop: mov eax, d;
mov eax, [eax];
mov ebx, edx;
shl ebx, 0x2;
add eax, ebx;
mov ebx, [eax];
and ebx, 0xFFFFFF;
mov ecx, ebx;
shr ebx, 0x10;
shl ecx, 0x10;
or ebx, ecx;
shr ecx, 0x10;
and ecx, 0xFF00;
or ebx, ecx;
and ebx, 0xFFFFFF;
or ebx, 0xFF000000;
mov [eax], ebx;
inc edx;
cmp edx, nBytes;
jne pixloop;
}
}
Откопал очередной свой велосипедный класс, в нем попался такой вот метод для конвертирования цветов ARGB в ABGR.