-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+131
- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
#include <stdio.h>
#include <stdlib.h>
/*
Declare array of functions that return array of functions with
one parameter - function accepting array of functions returning
a pointer to function void(void). No typedefs.
Decoded to the following:
1) An array of E.
2) E = a function that takes void and returns an array of D (returns an array taken to mean a pointer to D).
3) D = a function that takes C and returns void.
4) C = a function that takes an array of B and returns void.
5) B = a function that takes void and returns A.
6) A = a pointer to void(void).
*/
/* Using typedefs */
typedef void (*tA) (void);
typedef tA (*tB) (void);
typedef void (*tC) (tB b[]);
typedef void (*tD) (tC c);
typedef tD* (*tE) (void);
tE tArray[2];
/* Not using typedefs */
void (*_A) (void);
void (* (*_B) (void) ) (void);
void (*_C) ( void (* (*_B[]) (void) ) (void) );
void (*_D) ( void (*_C) ( void (* (*_B[]) (void) ) (void) ) );
void (** (*_E) (void) ) ( void (*_C) ( void (* (*_B[]) (void) ) (void) ) );
void (** (*_Array[2]) (void) ) ( void (*_C) ( void (* (*_B[]) (void) ) (void) ) );
/* Some concrete functions for testing */
void fA(void)
{
printf("fA\n");
}
tA fB(void)
{
printf("fB\n");
return &fA;
}
void fC(tB b[])
{
tA _a;
printf("fC\n");
_a = (*b[0])();
(*_a)();
}
void fD(tC c)
{
tB b[1];
printf("fD\n");
b[0] = &fB;
(*c)(b);
}
tD* fE(void)
{
tD *d;
printf("fE\n");
d = malloc(sizeof(tD));
d[0] = &fD;
return d;
}
int main()
{
tA _a;
tB _b;
tC _c;
tD _d;
tE _e;
tB b[1];
tD *d;
_a = &fA;
_A = &fA;
printf("_a\n");
(*_a)();
printf("_A\n");
(*_A)();
_b = &fB;
_B = &fB;
printf("_b\n");
_a = (*_b)();
(*_a)();
printf("_B\n");
_a = (*_B)();
(*_a)();
_c = &fC;
_C = &fC;
b[0] = _b;
printf("_c\n");
(*_c)(b);
printf("_C\n");
(*_C)(b);
_d = &fD;
_D = &fD;
printf("_d\n");
(*_d)(&fC);
printf("_D\n");
(*_D)(&fC);
_e = &fE;
_E = &fE;
printf("_e\n");
d = (*_e)();
(*d[0])(&fC);
free(d);
printf("_E\n");
d = (*_E)();
(*d[0])(&fC);
free(d);
printf("tArray\n");
tArray[0] = &fE;
d = (*tArray[0])();
(*d[0])(&fC);
free(d);
printf("_Array\n");
_Array[0] = &fE;
d = (*_Array[0])();
(*d[0])(&fC);
free(d);
return 0;
}
LispGovno,
08 Февраля 2014
-
+129
- 1
- 2
Func = fun(X, Y) -> if X > Y -> true; true -> false end end,
...
Из одного из видеоуроков по Erlang.
Удивлюсь, как можно было даже в этом языке сделать boolshit...
tirinox,
25 Декабря 2013
-
+139
- 1
- 2
- 3
- 4
- 5
- 6
- 7
// drivers/usb/serial/cp210x.c
static void cp210x_close(struct usb_serial_port *port)
{
usb_serial_generic_close(port);
cp210x_set_config_single(port, CP210X_IFC_ENABLE, UART_DISABLE);
}
Дело было так.
На прошлой неделе, по просьбе одного знакомого, я сел писать прошивку для attiny2313, которая должна принять по RS-232 строчку и исполнить соответствующую команду. Потратив несколько минут на раскур даташита, а именно главы, посвященной USART, я набросал тупейший код на сях, залил его на чип, и затестил через миником. Все работало нормально, ничто не предвещало беды...
Но когда я попробовал послать команду через echo, меня ждал облом. Она не выполнилась. На 10 раз проверил код - все ок, в миникоме пашет идеально, через echo - куй. Под виндой та же ересь. Чем отличается echo от миникома? Правильно, тем, что оно отправляет символы подряд, без пауз. Контроллер тактировался от внутренного генератора, поэтому я подумал, что оный хреново откалиброван, и что надо бы его настроить... Вечер ушел на написание прошивки для калибровки... Оказалось, что частота действительно уплыла на 2% от расчетной, что некритично. Ну да пофиг, откалибровался до +-0.5%. Запустил echo - куй. Послал все нахрен, и пошел спать...
(Продолжение в комменте ниже)
bormand,
26 Ноября 2013
-
+106
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
for i:= 1 to 24 do read (a[i]);
if (abs(sqrt ((a[1]-a[4])*(a[1]-a[4])+(a[2]-a[5])*(a[2]-a[5])+(a[3]-a[6])*(a[3]-a[6]))) = abs(sqrt ((a[4]-a[7])*(a[4]-a[7])+(a[5]-a[8])*(a[5]-a[8])+(a[6]-a[9])*(a[6]-a[9]))) and
(abs(sqrt ((a[4]-a[7])*(a[4]-a[7])+(a[5]-a[8])*(a[5]-a[8])+(a[6]-a[9])*(a[6]-a[9]))) =abs(sqrt ((a[7]-a[10])*(a[7]-a[10])+(a[8]-a[11])*(a[8]-a[11])+(a[9]-a[12])*(a[9]-a[12]))) and
(abs(sqrt ((a[7]-a[10])*(a[7]-a[10])+(a[8]-a[11])*(a[8]-a[11])+(a[9]-a[12])*(a[9]-a[12]))) =abs(sqrt ((a[10]-a[1])*(a[10]-a[1])+(a[11]-a[2])*(a[11]-a[2])+(a[12]-a[3])*(a[12]-a[3])))and
(abs(sqrt ((a[13]-a[16])*(a[13]-a[16])+(a[14]-a[17])*(a[14]-a[17])+(a[15]-a[18])*(a[15]-a[18]))) = abs(sqrt ((a[13]-a[16])*(a[13]-a[16])+(a[14]-a[17])*(a[14]-a[17])+(a[15]-a[18])*(a[15]-a[18]))) and
(abs(sqrt ((a[13]-a[16])*(a[13]-a[16])+(a[14]-a[17])*(a[14]-a[17])+(a[15]-a[18])*(a[15]-a[18]))) =abs(sqrt ((a[16]-a[19])*(a[16]-a[19])+(a[17]-a[20])*(a[17]-a[20])+(a[18]-a[21])*(a[18]-a[21]))) and
(abs(sqrt ((a[16]-a[19])*(a[16]-a[19])+(a[17]-a[20])*(a[17]-a[20])+(a[18]-a[21])*(a[18]-a[21]))) =abs (sqrt ((a[19]-a[22])*(a[19]-a[22])+(a[20]-a[23])*(a[20]-a[23])+(a[21]-a[24])*(a[21]-a[24]))) and
(abs(sqrt ((a[19]-a[22])*(a[19]-a[22])+(a[20]-a[23])*(a[20]-a[23])+(a[21]-a[24])*(a[21]-a[24]))) =abs(sqrt ((a[22]-a[13])*(a[22]-a[13])+(a[23]-a[14])*(a[23]-a[14])+(a[24]-a[15])*(a[24]-a[15]))) and
(abs(sqrt ((a[22]-a[13])*(a[22]-a[13])+(a[23]-a[14])*(a[23]-a[14])+(a[24]-a[15])*(a[24]-a[15])))=abs(sqrt ((a[13]-a[1])*(a[13]-a[1])+(a[14]-a[2])*(a[14]-a[2])+(a[15]-a[3])*(a[15]-a[3]))) and
(abs(sqrt ((a[13]-a[1])*(a[13]-a[1])+(a[14]-a[2])*(a[14]-a[2])+(a[15]-a[3])*(a[15]-a[3]))) = abs(sqrt ((a[16]-a[4])*(a[16]-a[4])+(a[17]-a[5])*(a[17]-a[5])+(a[18]-a[6])*(a[18]-a[6])))and
(abs(sqrt ((a[16]-a[4])*(a[16]-a[4])+(a[17]-a[5])*(a[17]-a[5])+(a[18]-a[6])*(a[18]-a[6])))= abs(sqrt ((a[19]-a[1])*(a[19]-a[7])+(a[20]-a[8])*(a[20]-a[8])+(a[21]-a[9])*(a[21]-a[9]))) and
(abs(sqrt ((a[19]-a[1])*(a[19]-a[7])+(a[20]-a[8])*(a[20]-a[8])+(a[21]-a[9])*(a[21]-a[9]))) = abs(sqrt ((a[22]-a[10])*(a[22]-a[10])+(a[23]-a[11])*(a[23]-a[11])+(a[24]-a[12])*(a[24]-a[12])))) then writeln ('yes');
Readln;
программа выясняет, является ли фигура с задаными 24 координатами кубом
Abbath,
20 Октября 2013
-
+2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
class pool_exeption: public std::exception
{
virtual const char* what() const throw()
{
return "Pool out of bounds";
}
}pool_out_of_bounds;
class pool_exeption2: public std::exception
{
virtual const char* what() const throw()
{
return "Pool block is too small";
}
}pool_small_block;
А потом эти исключения кидаются по значению: throw pool_out_of_bounds;
virtual const char* WAT()
Yuuri,
18 Октября 2013
-
+118
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
int function BinarySearch (Array A, int Lb, int Ub, int Key);
begin
do forever
M = (Lb + Ub)/2;
if (Key < A[M]) then
Ub = M - 1;
else if (Key > A[M]) then
Lb = M + 1;
else
return M;
if (Lb > Ub) then
return -1;
end;
[color=green]Бинарный поиск это поиск, на который затрачивается в 2 раза меньше времени[/green]
http://algolist.manual.ru/search/bin_search.php
crastinus,
28 Сентября 2013
-
+126
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
string[] days = { "Sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat" };
// This method finds the day or returns -1
private int GetDay(string testDay)
{
int i = 0;
foreach (string day in days)
{
if (day == testDay)
{
return i;
}
i++;
}
return -1;
}
http://msdn.microsoft.com/en-us/library/2549tw02%28v=vs.80%29.aspx
Я, мягко говоря, прифигел с этого. Одно дело, если бы это была какая-нибудь лаба, но это, блиать, целый велосипед вместо одного единственного Array.IndexOf, да ещё и в таком общедоступном месте...
RaZeR,
13 Июня 2013
-
−160
- 1
unless( eval{ $p -> role() -> is_company() } or eval{ $p -> channel_status() } or ( $p -> id() eq 11902 ) )
kainwinterheart,
05 Июня 2013
-
+23
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
class ANameCreator
{
public:
virtual void Create(const std::string& /*name*/)
{
throw std::runtime_error("<ANameCreator::Create()> : abstract method stub call");
}
};
odeni,
06 Марта 2013
-
+18
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
#include <iostream>
#include <map>
struct A {
const static int i = 10;
};
using namespace std;
int main()
{
map<int, string> m;
m[0] = "zero";
m[A::i] = "A::i"; // Не везде работает
cout << A::i << endl;
return 0;
}
Недели stackoverflow на уютненьньком.
Почему-то этот код не собирается в GCC 4.7.2, но при этом работает в 4.6.3 и 4.8.0.
http://liveworkspace.org/code/2o5qOP$1
http://liveworkspace.org/code/2o5qOP$2
http://liveworkspace.org/code/2o5qOP$3
absolut,
01 Марта 2013