- 1
- 2
- 3
- 4
- 5
- 6
import Data.Array.IO
main = do arr <- newArray (1,10) 37 :: IO (IOArray Int Int)
a <- readArray arr 1
writeArray arr 1 64
b <- readArray arr 1
print (a, b)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+123
import Data.Array.IO
main = do arr <- newArray (1,10) 37 :: IO (IOArray Int Int)
a <- readArray arr 1
writeArray arr 1 64
b <- readArray arr 1
print (a, b)
Вот такое вот говно приходится терпеть, если хочешь работать в хаскеле с массивами. Дальше будет только нос закрывай. To be continued...
+72
final String sqlString=
" select distinct 1 "+
" , c_rep.card_id as rep_id "+
" , av_rep_xml.long_binary_value as rep_xml "+
" , av_sname_nm.string_value as name "+
" , av_c_date.date_value as date \n"+
" from card c_res \n"+
" join attribute_value av_res_rep on (av_res_rep.card_id = c_res.card_id and av_res_rep.attribute_code = 'JBR_RIMP_REPORT') \n"+
" join attribute_value av_res_exec on (av_res_exec.card_id = c_res.card_id and av_res_exec.attribute_code = 'JBR_INFD_EXEC_LINK') \n"+
" join card c_rep on (c_rep.card_id = av_res_rep.number_value ) \n"+
" left outer join attribute_value av_rep_xml on (av_rep_xml.card_id = c_rep.card_id and av_rep_xml.attribute_code = 'ADMIN_702354') \n"+
" left outer join attribute_value av_c_date on (av_c_date.card_id = c_rep.card_id and av_c_date.attribute_code = 'CREATED') \n"+
" left outer join attribute_value av_rep_exec on (av_rep_exec.card_id = c_rep.card_id and av_rep_exec.attribute_code ='ADMIN_702335') \n"+
" left outer join person person_card on (person_card.person_id=av_rep_exec.number_value) \n"+
" left outer join attribute_value av_sname_nm on (av_sname_nm.card_id = person_card.card_id and av_sname_nm.attribute_code = 'JBR_PERS_SNAME_NM') \n"+
" left outer join attribute_value av_on_control on ( av_on_control.attribute_code = 'JBR_TCON_ONCONT' and av_on_control.card_id = c_res.card_id) \n"+
" where c_res.card_id = " + sResId+ "\n"+
" and av_res_exec.number_value = av_rep_exec.number_value \n"+
" and av_on_control.value_id=1449 \n"+
" and c_res.status_id in (103, 206) \n"+
// UNION
" UNION select 51 \n"+
" , c_rep.card_id as rep_id \n"+
" , av_rep_xml.long_binary_value as rep_xml \n"+
" , av_sname_nm.string_value as name \n"+
" , av_c_date.date_value as date \n"+
" from card c_prnt \n"+
" left outer join attribute_value av_res on ( av_res.attribute_code = 'JBR_IMPL_RESOLUT' and av_res.card_id = c_prnt.card_id) "+
" left outer join card c_res on (c_res.card_id=av_res.number_value)"+
" join attribute_value av_res_rep on (av_res_rep.card_id = c_res.card_id and av_res_rep.attribute_code = 'JBR_RIMP_REPORT') "+
" join attribute_value av_res_exec on (av_res_exec.card_id = c_res.card_id and av_res_exec.attribute_code = 'JBR_INFD_EXEC_LINK') "+
" join card c_rep on (c_rep.card_id = av_res_rep.number_value ) "+
" left outer join attribute_value av_rep_xml on (av_rep_xml.card_id = c_rep.card_id and av_rep_xml.attribute_code = 'ADMIN_702354') "+
" left outer join attribute_value av_c_date on (av_c_date.card_id = c_rep.card_id and av_c_date.attribute_code = 'CREATED') "+
" left outer join attribute_value av_rep_exec on (av_rep_exec.card_id = c_rep.card_id and av_rep_exec.attribute_code = 'ADMIN_702335') "+
" left outer join person person_card on (person_card.person_id=av_rep_exec.number_value) "+
" left outer join attribute_value av_sname_nm on (av_sname_nm.card_id = person_card.card_id and av_sname_nm.attribute_code = 'JBR_PERS_SNAME_NM') "+
" left outer join attribute_value av_on_control on ( av_on_control.attribute_code = 'JBR_TCON_ONCONT' and av_on_control.card_id = c_res.card_id) "+
" where "+
" c_prnt.card_id = "+ sResId+ "\n"+
" and c_prnt.template_id <> 324 \n"+
" and av_res_exec.number_value = av_rep_exec.number_value \n"+
" and av_on_control.value_id=1449 \n"+
" and c_res.status_id in (103, 206) \n"+
.... и еще 8 UNION, куча строчек в том же стиле и с тем же смыслом
Формирование SQL запроса в методе, который возвращает строковое представление хода исполнения поручения (кто сделал, что сделал, когда и в какой последовательности). Сам метод, если кому интересно дергается из Jasper report.
Мало того, что запросик имеет длину 250 строк кода (большая часть которых копи/паст с небольшими изменениями), так он ещё и возвращает полную ахинею вместо того что нужно. Чего хотел сказать автор - теперь уже не узнать...
+105
var hour = Convert.ToInt32(DateTime.Now.ToString("HH"));
var min = Convert.ToInt32(DateTime.Now.ToString("mm"));
А вам слабо?
Автор через день напоминает всем, что у него больше 5 лет опыта программирования на C#.)))))
+96
List<LocalBusiness> sortedLocalBusinesses = new List<LocalBusiness>();
foreach (LocalBusiness business in foundLocalBusinesses)
{
if (!business.Logo.UrlSmall.Equals("/images/local_business_default_logo.png"))
{
sortedLocalBusinesses.Add(business);
}
}
foreach (LocalBusiness business in foundLocalBusinesses)
{
if (business.Logo.UrlSmall.Equals("/images/local_business_default_logo.png"))
{
sortedLocalBusinesses.Add(business);
}
}
Сортировка - первыми должны быть объекты с не дефолтными картинками.
−153
- (id)init:(NSString *)score{
if (self = [super init]) {
// Custom initialization
[self initWithNibName:@"Score_View" bundle:nil];
self.total_score=[score copy];
}
return self;
}
Отличная инициализация контроллера.
+79
<?
if(!$GLOBAL)
{
header('Location: http://'.$_SERVER['SERVER_NAME'].'/');
}
session_start();
require_once($_SERVER['DOCUMENT_ROOT']."/global/constants.php");
require_once($_SERVER['DOCUMENT_ROOT']."/global/functions.php");
connect_SQL();
//$ref = $_SERVER['HTTP_REFERER'];
$ref = "http://".$_SERVER['SERVER_NAME'];
//var_dump($_POST);
if(isset($_POST['auth_go']))
{
$login = (isset($_POST['login'])) ? mysql_real_escape_string($_POST['login']) : '';
$query = "SELECT `salt`
FROM `users`
WHERE `login`='{$login}'
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) == 1)
{
$row = mysql_fetch_assoc($sql);
// итак, вот она соль, соответствующая этому логину:
$salt = $row['salt'];
// теперь хешируем введенный пароль как надо и повторям шаги, которые были описаны выше:
$password = md5(md5($_POST['password']) . $salt);
// и пошло поехало...
// делаем запрос к БД
// и ищем юзера с таким логином и паролем
$query = "SELECT `id`
FROM `users`
WHERE `login`='{$login}' AND `password`='{$password}'
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error());
// если такой пользователь нашелся
if (mysql_num_rows($sql) == 1)
{
// то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
$row = mysql_fetch_assoc($sql);
$_SESSION['user_id'] = $row['id'];
// если пользователь решил "запомнить себя"
// то ставим ему в куку логин с хешем пароля
$time = 86400; // ставим куку на 24 часа
if (isset($_POST['remember']))
{
setcookie('login', $login, time()+$time, "/");
setcookie('password', $password, time()+$time, "/");
}
// и перекидываем его на закрытую страницу
if(!empty($ref))
{
if( (strstr($ref,"error"))||(strstr($ref,"register"))||(strstr($ref,"forgetyourpassword")))
{
// //header('Location: http://'.$_SERVER['SERVER_NAME'].'/');
}
else
{
// // header('Location: '.$ref.'/');
}
}
else
{
// // header('Location: http://'.$_SERVER['SERVER_NAME'].'/');
}
//echo "Заебиок АВТОРИЗОВАН!<br>";
//exit;
// не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start();
}
else
{
//die('Такой логин с паролем не найдены в базе данных. И даём ссылку на повторную авторизацию. — <a href="login.php">Авторизоваться</a>');
header('Location: http://'.$_SERVER['SERVER_NAME'].'/error/?no=2');
// // header('Location: http://'.$_SERVER['SERVER_NAME'].'/error');
}
}
else
{
//die('пользователь с таким логином не найден, даём ссылку на повторную авторизацию. — <a href="login.php">Авторизоваться</a>');
header('Location: http://'.$_SERVER['SERVER_NAME'].'/error/?no=3');
// // //header('Location: http://'.$_SERVER['SERVER_NAME'].'/error');
}
//echo "//--проверяем валидность...<br>";
//echo "//--и отправляем на куда то, с объявлением......<br>";
//echo "переадресация<br>";
//echo "<a href=http://".DSITE.">".DSITE."</a>";
Найдено на одном из сайтов полит партии РФ :)
−176
<html>
<head>
<script type="text/javascript">
var url = location.href;
var key = '<meta name="keywords" content="" />';
var dsc = '<meta name="description" content="Радиозавод – одно из ведущих предприятий, выпускающее hd ресиверы – цифровые, спутниковые, кабельные, приставки dvb с, а также инфракрасные сушки для овощей и фруктов, зерновые сеялки и светодиодные светильники для жкх. Кроме того мы предлагаем вниманию наших клиентов мобильную медицинскую технику: передвижной пункт забора крови, стоматологический кабинет и т.д." />';
url = url.replace('http://','');
url = url.replace('www.','')
if(url == "domen.ru") {
dsc = '<meta name="description" content=""Радиозавод" осуществляет производство светодиодных светильников. Инфракрасная сушка одно из приоритетных направлений деятельности. Производители светодиодных светильников это группа компаний "Радиозавод"." />';
key = '<meta name="keywords" content="производство светодиодных светильников, производители светодиодных светильников, инфракрасная сушка" />';
}
if(url == "domen.ru/catpv.5.htm") {
dsc = '<meta name="description" content="передвижной стоматологический кабинет" />';
key = '<meta name="keywords" content="Передвижной стоматологический кабинет от компании "Радиозавод" это универсальное решение для любых условий эксплуатации." />';
}
if(url == "domen.ru/catp.19.htm") {
dsc = '<meta name="description" content=""Радиозавод" предлагает сеялку зерновую точного высева. Купить сеялку можно уже сейчас, доставляем в регионы." />';
key = '<meta name="keywords" content="купить сеялку, сеялка зерновая, сеялка точного высева" />';
}
if(url == "domen.ru/catpv.103.htm") {
dsc = '<meta name="description" content="Сеялка пневматическая универсальное решение для сельхозработ от компании "Радиозавод"" />';
key = '<meta name="keywords" content="сеялка пневматическая" />';
}
if(url == "domen.ru/catpv.104.htm") {
dsc = '<meta name="description" content="Сеялка овощная как наверное оборудовение подойдет для любых тракторов. Всегда в наличие овощная сеялка точного высева." />';
key = '<meta name="keywords" content="овощная сеялка точного высева, сеялка овощная" />';
}
if(url == "domen.ru/catpv.108.htm") {
dsc = '<meta name="description" content=""Радиозавод" реализует светильники для теплиц в любом количестве. Светильник тепличный соответствует всем современным стандартам." />';
key = '<meta name="keywords" content="светильники для теплиц, светильник тепличный" />';
}
/* ... тут еще куча такого же высера ... */
document.writeln(key);
document.writeln(dsc);
</script>
<title><TMPL_IF "header2"><TMPL_VAR "header2"><TMPL_ELSE><TMPL_VAR "start_header"><TMPL_IF "header"> - </TMPL_IF><TMPL_VAR "header"></TMPL_IF></title>
Я даже вначале не знал в какую категорию это отнести.
Сайт написан на Perl. Так как я не мастер в нем не буду выкладывать из него говнокод, вдруг он окажется мастер классом :)
+ Весело наблюдать закрытие тега meta в HTML.
+8
#include <stdio.h>
#include <string>
int main()
{
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
char s[100];
int n1 = 0,eq = 0,i = 0,o = 0,e = 0;
scanf("%s",&s);
int len;
len = strlen(s);
for(i = 0; i <= len; i++)
{
if ((s[i] == '+') || (s[i] == '-') || (s[i] == '/') || (s[i] == '*'))
{
if (s[i-1] != '=')
{
n1 = i;
o = 1;
}
if ((n1 == '-') && (s[i-1] == '+') || (s[i-1] == '-') || (s[i-1] == '/') || (s[i-1] == '*'))
{
n1--;
o = 1;
}
}
if (s[i] == '=')
{
eq = i;
e++;
}
}
if ((eq == 0) || (n1 == 0) || (e != 1) || (o != 1))
{
printf("ERROR");
return 0;
}
char* err ;
//begin copy-paste :(
char s1[100] = "0";
for(i = 0; i < n1; i++)
{
s1[i] = s[i];
}
long l1 = strtol(s1, &err, 10);
if (*err)
{
printf("ERROR");
return 0;
}
//еще 10-15 строк
//end copy-paste :(
//begin new copy-paste :((
if (s[n1] == '+')
{
if (l1 + l2 == l3)
{
printf("YES");
} else
{
printf("NO");
}
}
if (s[n1] == '/')
{
if (l2 != 0)
{
if((l1 / l2 == l3) && (l1 % l2 == 0))
{
printf("YES");
} else
{
printf("NO");
}
} else
{
printf("NO");
}
}
//Еще 10-15 строк
//end new copy-paste :((
return 0;
}
А всего-то надо проверить верно ли тождество. (Тождество очень простое и состоит из числа, операции («+», «-», «*», «/»), числа, знака равенства и числа)
+79
import java.util.*;
class Euler32 {
public static void main(String[] args) {
int total=0;
LinkedList<Integer> remDigits=new LinkedList<Integer>();
for(int n=1;n<=9;n++)
remDigits.add(new Integer(n));
for(int n9=2;n9<9;n9++){ //starting digit can't be 1 or 2
int thouC=(remDigits.get(n9)).intValue();
remDigits.remove(n9);
for(int n8=0;n8<8;n8++){
int hundC=(remDigits.get(n8)).intValue();
remDigits.remove(n8);
for(int n7=0;n7<7;n7++){
int tenC=(remDigits.get(n7)).intValue();
remDigits.remove(n7);
for(int n6=0;n6<6;n6++){
int oneC=(remDigits.get(n6)).intValue();
remDigits.remove(n6);
int c=1000*thouC+100*hundC+10*tenC+oneC;
boolean found=false;
int n5=0;
while((n5<5)&&(found==false)){
int ab1=(remDigits.get(n5)).intValue();
remDigits.remove(n5);
int n4=0;
while((n4<4)&&(found==false)){
int ab2=(remDigits.get(n4)).intValue();
remDigits.remove(n4);
int n3=0;
while((n3<3)&&(found==false)){
int ab3=(remDigits.get(n3)).intValue();
remDigits.remove(n3);
int n2=0;
while((n2<2)&&(found==false)){
int ab4=(remDigits.get(n2)).intValue();
remDigits.remove(n2);
int ab5=(remDigits.get(0)).intValue();
int a3=100*ab1+10*ab2+ab3;
int a4=1000*ab1+100*ab2+10*ab3+ab4;
int b2=10*ab4+ab5;
int b1=ab5;
if((a3*b2)==c){
found=true;
total+=c;
System.out.println(c+" = "+a3+"x"+b2);
}
else if((a4*b1)==c){
found=true;
total+=c;
System.out.println(c+" = "+a4+"x"+b1);
}
remDigits.add(n2,new Integer(ab4));
n2++;
}
remDigits.add(n3,new Integer(ab3));
n3++;
}
remDigits.add(n4,new Integer(ab2));
n4++;
}
remDigits.add(n5,new Integer(ab1));
n5++;
}
remDigits.add(n6,new Integer(oneC));
}
remDigits.add(n7,new Integer(tenC));
}
remDigits.add(n8,new Integer(hundC));
}
remDigits.add(n9,new Integer(thouC));
}
System.out.println(total);
}
}
http://projecteuler.net/problem=32
http://projecteuler.net/thread=32;page=2
>My code is absolutely hideous, but it works and it's fast.
Извиняюсь за длинный пост, но это просто шедевр, я не мог это не запостить!
+1
template<class TValueChanger1, class TValueChanger2, class TValueChanger3>
NContour::NPrimitives::PArc ChangePrimitive(NContour::NPrimitives::PArc Arc, const TValueChanger1& ValueChanger1, const TValueChanger2& ValueChanger2, const TValueChanger3& ValueChanger3)
{
return
boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger3(
boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger2(
boost::static_pointer_cast<NContour::NPrimitives::TArc>(ValueChanger1(
Arc
))
))
));
}