- 1
- 2
const bool b = false ? true ? false ? true : false : true : false;
cout << b;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−21.1
const bool b = false ? true ? false ? true : false : true : false;
cout << b;
Студенческая лаба
+131.2
WCHAR szSLASHSTARDOTSTAR[] = TEXT("\\*"); /* This is a single "\" */
Из убежавших исходников Widnows 2000,
win2k\private\ntos\w32\ntuser\client\clg lobal.c
+153
program Drink;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
const
C: array[0..5] of Cardinal = ($64AABAB8, $54AAA288, $54AB3A90, $54AAAAA0, $563ABBB8,$60820000);
var
I: Byte;
B: PByte;
begin
for I := 191 downto 0 do
begin
B := @C[I div 32];
Inc(B, (I - (I div 32) * 32) div 8);
if (B^ and (1 shl (I mod 8))) <> 0 then
Write('X')
else
Write(' ');
if (I mod 32) = 0 then
Writeln('');
end;
ReadLn;
end.
+133.5
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
const
C: array[0..5] of Cardinal = ($4A9AAA90, $8AA33308, $8AA2AA88, $4C9AAA90, $22200, $822200);
var
I: Byte;
B: PByte;
begin
for I := 191 downto 0 do
begin
B := @C[I div 32];
Inc(B, (I - (I div 32) * 32) div 8);
if (B^ and (1 shl (I mod 8))) <> 0 then
Write('X')
else
Write(' ');
if (I mod 32) = 0 then
Writeln('');
end;
ReadLn;
end.
nickkk govnokod
+32
#include <stdio.h>
#include <string.h>
int main()
{
char itext[256], otext[256], dln[32], c;
int l, i, j, n, b, ws;
gets(itext);
l = strlen(itext);
//Считаем длины слов и их количество
dln[0] = 0;
n = 0;
for(i = 0; i < l; i++)
{
if(itext[i] != ' ')
dln[n]++;
else
{
n++;
dln[n] = 0;
}
}
ws = n + 1;
//собираем строку
j = 0;
b = 0;
for(n = 0; n < ws; n++)
{
if(dln[n] % 2 != 1)
{
for(i = 0; i < dln[n]; i++)
otext[j++] = itext[b + (dln[n] - i - 1)];
otext[j++] = ' ';
}
b += dln[n] + 1;
}
otext[j] = '\0';
//меняем регистр
for(i = 0; i < j; i++)
{
c = otext[i];
if(c >= 65 && c <= 90)
c += 32;
else if(c >= 97 && c <= 122)
c -= 32;
printf("%c", c);
}
//getch();
return 0;
}
+149
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
char** del_arr(char **arr,int *size_i,int count,char *slovo,int len);
char** Delete(char **arr,int i,int *size_i);
void poisk(int size_j,char *arr,char *slovo,int len,int *c);
char* s_enter();
void arr_enter(int size_i ,char ***arr);
void arr_out(int size_i, char ***arr);
//void str_cpy(char **arr,char **res_arr,int size_src);
int main(void)
{
clrscr();
int size_i, size_j, count, len;
char **arr, *razd, *slovo;
printf("Vvedite kolichestvo strok > 1\n");
scanf("%d",&size_i);
if(size_i<=1)
size_i=2;
printf("Vvedite stroki texta\n");
getchar();
arr_enter(size_i, &arr);
printf("Vvedite stroku razdeliteley\n");
razd=s_enter();
puts(razd);
printf("Vvedite kontrol'noe slovo\n");
slovo=s_enter();
len=strlen(slovo);
puts(slovo);
printf("Vvedite kolichestvo kontrolnih slov\n");
scanf("%d",&count);
printf("Vvedennie stroki:\n");
arr_out(size_i,&arr);
arr=del_arr(arr,&size_i,count,slovo,len);
arr_out(size_i,&arr);
getch();
return 0;
}
char** del_arr(char **arr,int *size_i,int count,char *slovo,int len)
{
int i=0, c=0,size_j,p;
for(;i<*size_i;)
{
size_j=strlen(arr[i]);
poisk(size_j,arr[i],slovo,len,&c);
if(c==count)
{
p=1;
Delete(arr,i,size_i);
free(arr[*size_i]);
*size_i--;
}
else
p=0;
if(p==0)
i++;
}
return arr;
}
char** Delete(char **arr,int i,int *size_i)
{
int size;
for(;i<((*size_i)-1);i++)
{
//size=strlen((*arr)[i+1]);
strcpy(arr[i],arr[i+1]);
puts(arr[i]);
//memmove((*arr)[i],(*arr)[i+1],size+1));
}
return arr;
}
void poisk(int size_j,char *arr,char *slovo,int len,int *c)
{
int j=0, r=1;
for(;j<size_j;)
{
if(arr[j]==slovo[0])
{
while(r<=len)
{
j++;
if(arr[j]==slovo[r])
r++;
else
break;
}
*c++;
r=1;
}
else
j++;
}
//return c;
+32
#include <stdio.h>
#include <string.h>
int main()
{
char c, text[1024];
int l, i, n;
printf("Vvedite text: ");
gets(text);
l = strlen(text);
// 7.2.a -----------------------------------------------------------
for(i = 1; i < l; i++)
if(text[i] == 'a' && text[i - 1] == ' ')
n++;
printf("\nStroka soderjit %d slov nachinaushihsa s bukvi a\n", n);
// 7.2.b -----------------------------------------------------------
c = text[0];
n = 0;
for(i = 1; i < l; i++)
if(text[i] == ' ')
{
if(text[i - 1] == c)
n++;
c = text[i + 1];
}
if(text[l - 1] == c)
n++;
printf("Stroka soderjit %d slov nachinaushihsa i zakanchivaushihsa s odinakovih bukv\n", n);
// 7.2.b -----------------------------------------------------------
for(i = 0; i < l; i++)
{
if(text[i] == ' ')
printf("%c", '_');
else
printf("%c", text[i]);
}
//getch();
return 0;
}
+51.5
/*
* adding data into report params array.
*/
$reportParams = array();
$reportParams += array(
'id' => $ID,
'view_class' => $viewClass,
'direct' => $direct,
'clone' => $clone
);
Суровые узбекские программисты делают так :)
+145.9
public void newMessageTrySafe(Message message)
{
if (SeparateThread.Wait(100, 5, new ExitWaitDelegate(this.)))
{
try
{
this.newMessage(message);
}
catch (Exception exception)
{
Utils.log("DataCache.newMessage() error: " + exception.Message, new object[0]);
}
try
{
Monitor.Exit(this.FRecalcSynchronizer);
return;
}
catch (SynchronizationLockException)
{
return;
}
}
Utils.log("newMessageTrySafe(): Deadlock! Unable to call newMessage bacause it's locked by this thread", new object[0]);
}
Решение проблемы дедлоков в многопоточной программе.
+154
/*-------------------------------------------------------------------------*/
// ENCODE HEADERS - RFC2047
/*-------------------------------------------------------------------------*/
function encode_headers( $headers = array() )
{
$enc_headers = count($headers) ? $headers : $this->mail_headers;
foreach( $enc_headers as $header => $value)
{
$orig_value = $value;
preg_match_all( '/(\w*[\x80-\xFF]+\w*)/', $value, $matches );
foreach ($matches[1] as $match_value)
{
if( $header == 'From' OR $header == 'Content-Type' OR $header == 'Content-Disposition' )
{
// Either sendmail or the email servers don't like 'From' encoded...let's remove the board name
// and just move along, as email address cannot contain nasty characters themselves
$this->mail_headers[ $header ] = $orig_value;//$this->from;
$enc_headers[ $header ] = $orig_value;//$this->from;
continue 2;
}
$replacement = preg_replace_callback( '/([=_\?\x00-\x1F\x80-\xFF])/', create_function( '$match', 'return "=" . strtoupper( dechex( ord( "$match[1]" ) ) );' ), $match_value );
$value = str_replace( $match_value, $replacement, $value );
}
if( $orig_value != $value )
{
$value = '=?' . $this->char_set . '?Q?' . str_replace( " ", "=20", $value ) . '?=';
}
if( !count($headers) )
{
$this->mail_headers[ $header ] = $value;
}
else
{
$enc_headers[ $header ] = $value;
}
}
return $enc_headers;
}
IPBoard 2.3.6
class_email.php вообще изобилует весьма странными решениями, которые в итоге даже рвут хедеры письма. Но вот эта функция сверх всяких похвал - не смотря на то что она в большинстве случаев делает вид, что она работает - на самом деле это не так. Она целые блоки текста оставляет как есть (текст само собой русский, и емыл-клиенты немного обижаются).
Очень завбавно получать такие письма-уведомления с разных форумов. Сделали бы попроще как-то, что-ли... :)