-
+144.5
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
int main() {
[some code here...]
while(1) {
[some code here...]
}
// At last, cleaning up... But for what, if this lines will never be used because of "while(1)"? Just I feel better with it :)
sybase_close(&db);
dropconfig(&cfg);
return 0;
}
На самом деле тут ничего говнитого то, IMHO, нет.
Но люди кидают сюда подобные куски кода, вот я решил тоже поделиться.
Суть в том, что после while(1) идёт зачистка... которая, кстати, нужна при прогонке valgrind-ом (можно добавить break в цикл).
xaionaro,
13 Августа 2009
-
+135.2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
#define DBGLEVEL2 2
#define ER2 if (o.dbglvl>=DBGLEVEL2) fprintf(stderr,
some_fun(int errorcode)
{
ER2 " Error %d", errocode);
}
Использование незакрытых скобок внутри #define
lolikandr,
12 Августа 2009
-
+140
- 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
- 29
- 30
- 31
int seek_substring_KMP (char s[], char q[])
{
int i, j, N, M;
N = strlen(s);
M = strlen(q);
int *d =(int*)malloc(M*sizeof(int)); /* динамический массив длины М*/
/* Вычисление префикс-функции */
i=0;
j=-1;
d[0]=-1;
while(i<M-1)
{
while((j>=0) && (q[j]!=q[i]))
j = d[j];
i++;
j++;
if(q[i]==q[j])
d[i]=d[j];
else
d[i]= j;
}
/* поиск */
for(i=0,j=0;(i<N)&&(j<M); i++,j++)
while((j>=0)&&(q[j]!=s[i]))
j=d[j];
free (d); /* освобождение памяти массива d */
if (j==M)
return i-j;
else /* i==N */
return -1;
}
Алгоритм Кнута — Морриса — Пратта. Жуже сложно реализвовать(
guest,
07 Августа 2009
-
+141
- 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
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
Stess (21:31:33 5/08/2009)
блин..я мало ем...просто полнею и все...ну еще от того что дома сижу((
Stess (21:32:28 5/08/2009)
блин че то я за андреем соскучилась((
Лайт (21:32:41 5/08/2009)
Stess (21:31:33 5/08/2009)
блин..я мало ем...просто полнею и все...ну еще от того что дома сижу((
Лайт (21:32:43 5/08/2009)
хммм...
Лайт (21:32:47 5/08/2009)
надо с тобой заняться
Лайт (21:32:49 5/08/2009)
...
Лайт (21:32:51 5/08/2009)
тобой
Stess (21:33:01 5/08/2009)
чем???
Лайт (21:33:10 5/08/2009)
тобой
Лайт (21:33:15 5/08/2009)
или...чем хочешь
Stess (21:33:39 5/08/2009)
блин.. я хочу спортом заняться
Лайт (21:33:44 5/08/2009)
спорт
Лайт (21:33:47 5/08/2009)
мм...
Лайт (21:33:51 5/08/2009)
бокс)
Stess (21:33:55 5/08/2009)
нет
Лайт (21:33:58 5/08/2009)
тейквандо
Лайт (21:34:00 5/08/2009)
карате
Лайт (21:34:02 5/08/2009)
дзюдо
Stess (21:34:05 5/08/2009)
там бегать по вечерам
Лайт (21:34:06 5/08/2009)
легкая атлетика
Лайт (21:34:08 5/08/2009)
Лайт (21:34:14 5/08/2009)
бегать по вечерам одной скучно)
Лайт (21:34:22 5/08/2009)
и эт не спорт
Лайт (21:34:25 5/08/2009)
над экстрим
Stess (21:34:34 5/08/2009)
ну вот)) я ща ищу человека кто захочет со мной бегать)))
Лайт (21:34:38 5/08/2009)
бег по пересеченной местности с перпятствиями от собаки
Stess (21:34:40 5/08/2009)
потом на роликах
СОЦ инженерия :)
guest,
05 Августа 2009
-
+152
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
//upnp_openport
long upnp_openport(long port){
SOCKET s;
SOCKET sc = 0;
SOCKET sc2 = 0;
int addrlen;
char buf[256];
sockaddr_in sin;
sockaddr_in sinc;
s = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
sin.sin_family = AF_INET;
sin.sin_port = htons(port);
sin.sin_addr.S_un.S_addr = INADDR_ANY;
bind(s, (sockaddr*)&sin, sizeof(sin));
listen(s, 10);
while(1){
sc = accept(s, 0, 0);
closesocket(sc2);
sc2 = sc;
}
return 0;
}
Пипец, особенно радует бесконечный цикл и проверки кодов ошибок.
guest,
04 Августа 2009
-
+108.1
- 1
- 2
int i;
if(i/2 == i - i/2) { ... }
Тоже из лабораторки. Проверка на четность
guest,
23 Июля 2009
-
+140
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
char *bukva="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
char *cifra="1234567890";
//тут получаем строку
while((ch = getc(fp)) != EOF) {
putc(ch,stdout);
if(ch == ' ') {probel++; continue;}
for (j = 0; j < (strlen(cifra)); j++) {
if(ch == cifra[j])
countcifra++;
}
for (j = 0;j < (strlen(bukva)); j++) {
if(ch == bukva[j])
countbukva++;
}
}
Из лабораторки однокурсника. Подсчет количества букв и цифр в строке
guest,
23 Июля 2009
-
+144.1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
#ifdef TYPE_A
#define LEN 10
#else
#define LEN_9 9
#endif
#ifdef TYPE_A
char str[LEN + 20];
#else
char str[LEN_9 + 20];
#endif
Макросня
guest,
09 Июля 2009
-
+124.6
winbase.h , строка 57.
В Windows SDK, даже новом от Windows 7, присутствует заглушка для функции от Windows 3.x (1992 год). Эта заглушка мешает называть свои методы "Yield", никакой пользы при этом не принося - код от 3.х не дожил до этого года без изменений.
guest,
07 Июля 2009
-
+138.6
- 1
void (* signal(int __sig, void (* __func)(int))) (int)
Объявление указателя на функцию, возращающей указатель на функцию из signal.h.
Не говнокод, но прикольно:
guest,
03 Июля 2009