- 1
- 2
$ToName = "$user_iname";
$ToEmail = "$user_email";
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+63
$ToName = "$user_iname";
$ToEmail = "$user_email";
Кавычки-то зачем?
+52
header( 'Content-Type: text/html; charset=utf-8' );
$year = date( 'Y' );
$months = array( 1 => 'Январь', 'Фервраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь' );
$infoYear = getdate( mktime( 0, 0, 0, 1, 1, $year, 0 ) );
$weekDay = $infoYear['wday'] == 0 ? 7 : $infoYear['wday']; // wday - номер дня недели. 0 - Воскресение. Делаем воскресение седьмым днем.
echo "<h2>$year</h2>";
for ( $month = 1; $month <= 12; $month++ ) {
echo '<div style="float: left; padding: 2px;"><b>' . $months[$month] . '</b>';
echo '<table border="1">';
echo '<th>Пн</th><th>Вт</th><th>Ср</th><th>Чт</th><th>Пт</th><th>Сб</th><th>Вс</th>';
echo '<tr>';
for ( $day = 1; $day < 31; $day++ ) {
if ( checkdate($month, $day, $year) ) {
if ( $day == 1 )
for ( $i = 1; $i < $weekDay; $i++ )
echo '<td> </td>';
printf( '<td>%02d</td>', $day );
$weekDay++;
if ( $weekDay > 7 ) {
$weekDay = 1;
echo '</tr><tr>';
}
}
}
echo '</tr></table></div>';
}
Задача: Вывести календарь, для установки нужных дат админом и сохранить их в БД.
Остается отрефракторить и добавить checkbox'ы.
+104
using (var s = _session.OpenSession())
using (var tr = s.BeginTransaction())
{
if (!s.IsConnected)
{
s.SaveOrUpdate(factor);
tr.Commit();
s.Close();
return true;
}
else
{
s.Close();
return false;
}
}
+90
function Vincenty(Lat1, Lon1, Lat2, Lon2: Extended): Extended;
const // Параметры эллипсоида:
a = 6378245.0;
f = 1 / 298.3;
b = (1 - f) * a;
EPS = 0.5E-30;
var
APARAM, BPARAM, CPARAM, OMEGA, TanU1, TanU2,
Lambda, LambdaPrev, SinL, CosL, USQR, U1, U2,
SinU1, CosU1, SinU2, CosU2, SinSQSigma, CosSigma,
TanSigma, Sigma, SinAlpha, Cos2SigmaM, DSigma : Extended;
begin
lon1 := lon1 * (PI / 180);
lat1 := lat1 * (PI / 180);
lon2 := lon2 * (PI / 180);
lat2 := lat2 * (PI / 180); //Пересчет значений координат в радианы
TanU1 := (1 - f) * Tan(lat1);
TanU2 := (1 - f) * Tan(lat2);
U1 := ArcTan(TanU1);
U2 := ArcTan(TanU2);
SinCos(U1, SinU1, CosU1);
SinCos(U2, SinU2, CosU2);
OMEGA := lon2 - lon1;
lambda := OMEGA;
repeat //Начало цикла итерации
LambdaPrev:= lambda;
SinCos(lambda, SinL, CosL);
SinSQSigma := (CosU2 * SinL * CosU2 * SinL) +
(CosU1 * SinU2 - SinU1 * CosU2 * CosL) *
(CosU1 * SinU2 - SinU1 * CosU2 * CosL);
CosSigma := SinU1 * SinU2 + CosU1 * CosU2 * CosL;
TanSigma:= Sqrt(SinSQSigma) / CosSigma;
if TanSigma > 0 then Sigma := ArcTan(TanSigma)
else Sigma := ArcTan(TanSigma) + Pi;
if SinSQSigma = 0 then SinAlpha := 0
else SinAlpha := CosU1 * CosU2 * SinL / Sqrt(SinSQSigma);
if (Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha))) = 0 then Cos2SigmaM := 0
else Cos2SigmaM:= CosSigma - (2 * SinU1 * SinU2 / (Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha))));
CPARAM:= (f / 16) * Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha)) *
(4 + f * (4 - 3 * Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha))));
lambda := OMEGA + (1 - CPARAM) * f * SinAlpha * (ArcCos(CosSigma) +
CPARAM * Sin(ArcCos(CosSigma)) * (Cos2SigmaM + CPARAM * CosSigma *
(-1 + 2 * Cos2SigmaM * Cos2SigmaM)));
until Abs(lambda - LambdaPrev) < EPS; // Конец цикла итерации
USQR:= Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha)) *(a * a - b * b) / (b * b);
APARAM := 1 + (USQR / 16384) * (4096 + USQR * (-768 + USQR * (320 - 175 * USQR)));
BPARAM := (USQR / 1024) * (256 + USQR * (-128 + USQR * (74 - 47 * USQR)));
DSigma := BPARAM * SQRT(SinSQSigma) * (Cos2SigmaM + BPARAM / 4 *
(CosSigma * (-1 + 2 * Cos2SigmaM * Cos2SigmaM) - BPARAM / 6 * Cos2SigmaM *
(-3 + 4 * SinSQSigma) * (-3 + 4 * Cos2SigmaM * Cos2SigmaM)));
Result := b * APARAM * (Sigma - DSigma);
end;
{ ©Drkb::04255 }
Алгоритм расчёта километража между двумя точками на земной поверхности методом Винсенти, найден в drkb3.0. Там же весь этот ГК уместился в одной строчке:
distance=sqrt(pow((lon1 - lon2)*111*COS(lat2/57.295781), 2) + pow((lat1) - lat)*111, 2));
, чудноо... :)
−42
#include <iostream>
using namespace std;
int main()
{
for(int i = 0x1; 0x1 <= i; i++)
{
int a = 0x5;
int b = 0xa;
cin >> i;
if(b || a)
{
a += 0x5;
cout << "\n ";
cout << "первое условие: ";
cout << "\n ";
cout << "переменная a = " << a;
cout << "\n ";
cout << "переменная b = " << --b + 0x5 - 0x9;
cout << "\n";
goto var;
}
else
{
var:
cout << "\n ";
cout << "второе условие: ";
a = (0xa - 0x5);
cout << "\n ";
cout << "переменная a = " << a;
cout << "\n ";
cout << "переменная b = " << ++b;
cout << "\n";
}
break;
}
system("pause");
return 0;
}
Попросил чела решить классическую задачку - обменять значениями две переменные, не используя третьей
−125
// Преобразовывает геокоординаты из одной СК в другую
//
// КоординатыТочки - Структура - координаты
//
// ПараметрыПреобразования - Структура - параметры преобразования из одной системы коорднат в другую
//
// ВысотаТочки - Число - выстоа точки над уровнем моря
//
// Точность - Число - точность возвращаемых координат
//
// Возвращаемое значение:
// Структура - координаты
//
Функция ПреобразоватьКоординаты(КоординатыТочки, ПараметрыПреобразования, ВысотаТочки = 0, Точность = 6) Экспорт
ПП = ПараметрыПреобразования;
ШиротаВГрадусах = КоординатыТочки.Широта;
ДолготаВГрадусах = КоординатыТочки.Долгота;
ЧислоПи = 3.14159265358979;
ЧислоУгловыхСекундВРадиане = 206264.8062;
КвадратЭксцентриситетаИсходногоЭллипсоида = 2 * ПП.СжатиеИсходногоЭллипсоида - Pow(ПП.СжатиеИсходногоЭллипсоида , 2);
КвадратЭксцентриситетаКонечногоЭллипсоида = 2 * ПП.СжатиеКонечногоЭллипсоида - Pow(ПП.СжатиеКонечногоЭллипсоида , 2);
СреднееБольшаяПолуось = (ПП.БольшаяПолуосьИсходногоЭллипсоида + ПП.БольшаяПолуосьКонечногоЭллипсоида) / 2;
СреднееКвадратЭксцентриситета = (КвадратЭксцентриситетаИсходногоЭллипсоида + КвадратЭксцентриситетаКонечногоЭллипсоида) / 2;
РазностьБольшихПолуосей = ПП.БольшаяПолуосьКонечногоЭллипсоида - ПП.БольшаяПолуосьИсходногоЭллипсоида;
РазностьКвадратовЭксцентриситетов = КвадратЭксцентриситетаКонечногоЭллипсоида - КвадратЭксцентриситетаИсходногоЭллипсоида;
ШиротаВРадианах = ШиротаВГрадусах * ЧислоПи / 180;
ДолготаВРадианах = ДолготаВГрадусах * ЧислоПи / 180;
РадиусКривизныМеридианногоСечения = СреднееБольшаяПолуось * (1 - СреднееКвадратЭксцентриситета)
/ Pow(1 - СреднееКвадратЭксцентриситета * Pow(Sin(ШиротаВРадианах) , 2) , 1.5);
РадиусКривизныПервогоВертикала = СреднееБольшаяПолуось * Pow(1 - СреднееКвадратЭксцентриситета
* Pow(Sin(ШиротаВРадианах) , 2) , -0.5);
СмещениеШиротыВСекундах = ЧислоУгловыхСекундВРадиане / (РадиусКривизныМеридианногоСечения + ВысотаТочки)
* (РадиусКривизныПервогоВертикала / СреднееБольшаяПолуось * СреднееКвадратЭксцентриситета * Sin(ШиротаВРадианах)
* Cos(ШиротаВРадианах) * РазностьБольшихПолуосей + (Pow(РадиусКривизныПервогоВертикала , 2) / Pow(СреднееБольшаяПолуось , 2) + 1)
* РадиусКривизныПервогоВертикала * Sin(ШиротаВРадианах) * Cos(ШиротаВРадианах) * РазностьКвадратовЭксцентриситетов / 2
- (ПП.ЛинейноеСмещениеОсьАбсцисс * Cos(ДолготаВРадианах) + ПП.ЛинейноеСмещениеОсьОрдинат * Sin(ДолготаВРадианах))
* Sin(ШиротаВРадианах) + ПП.ЛинейноеСмещениеОсьАппликат * Cos(ШиротаВРадианах))
- ПП.УгловоеСмещениеОсьАбсцисс * Sin(ДолготаВРадианах) * (1 + СреднееКвадратЭксцентриситета * Cos(2 * ШиротаВРадианах))
+ ПП.УгловоеСмещениеОсьОрдинат * Cos(ДолготаВРадианах) * (1 + СреднееКвадратЭксцентриситета * Cos(2 * ШиротаВРадианах))
- ЧислоУгловыхСекундВРадиане * ПП.ДифференциальноеРазличиеМасштабов * СреднееКвадратЭксцентриситета * Sin(ШиротаВРадианах)
* Cos(ШиротаВРадианах);
СмещениеДолготыВСекундах = ЧислоУгловыхСекундВРадиане / ((РадиусКривизныПервогоВертикала + ВысотаТочки)
* Cos(ШиротаВРадианах)) * (-ПП.ЛинейноеСмещениеОсьАбсцисс * Sin(ДолготаВРадианах)
+ ПП.ЛинейноеСмещениеОсьОрдинат * Cos(ДолготаВРадианах)) + Tan(ШиротаВРадианах) * (1 - СреднееКвадратЭксцентриситета)
* (ПП.УгловоеСмещениеОсьАбсцисс * Cos(ДолготаВРадианах) + ПП.УгловоеСмещениеОсьОрдинат * Sin(ДолготаВРадианах))
- ПП.УгловоеСмещениеОсьАппликат;
СмещениеВысоты = -СреднееБольшаяПолуось / РадиусКривизныПервогоВертикала * РазностьБольшихПолуосей
+ РадиусКривизныПервогоВертикала * Pow(Sin(ШиротаВРадианах) , 2) * РазностьКвадратовЭксцентриситетов / 2
+ (ПП.ЛинейноеСмещениеОсьАбсцисс * Cos(ДолготаВРадианах) + ПП.ЛинейноеСмещениеОсьОрдинат * Sin(ДолготаВРадианах))
* Cos(ШиротаВРадианах) + ПП.ЛинейноеСмещениеОсьАппликат * Sin(ШиротаВРадианах)
- РадиусКривизныПервогоВертикала * СреднееКвадратЭксцентриситета * Sin(ШиротаВРадианах) * Cos(ШиротаВРадианах)
* (ПП.УгловоеСмещениеОсьАбсцисс / ЧислоУгловыхСекундВРадиане * Sin(ДолготаВРадианах)
- ПП.УгловоеСмещениеОсьОрдинат / ЧислоУгловыхСекундВРадиане * Cos(ДолготаВРадианах))
+ (Pow(СреднееБольшаяПолуось , 2) / РадиусКривизныПервогоВертикала + ВысотаТочки) * ПП.ДифференциальноеРазличиеМасштабов;
Возврат Новый Структура("Широта,Долгота,Высота", Окр(ШиротаВГрадусах + СмещениеШиротыВСекундах / 3600, Точность), Окр(ДолготаВГрадусах + СмещениеДолготыВСекундах / 3600, Точность), Окр(ВысотаТочки + СмещениеВысоты,3));
КонецФункции
Как ни странно, но работает)))
+153
http://pastebin.com/KNAhNqJC
В связи с тем что толстота освоила новую тактику, выпущена очередная версия говнофильтра™.
* поддержка скрытия постов. Увы, выкинуть пост из выдачи совсем не получится, так что при флуд-атаках будут пустые страницы.
* альтернативный "мягкий" метод скрытия комментариев - белое на белом.
* переписано на jQuery, раз уж оно есть на уютненьком ГК.
Как обычно, заточено под Firefox+GreaseMonkey.
+102
public void set...(...){
...
throw INVALID_PARAM;
}
public void set...(...){
...
throw INVALID_PARAM;
}
public void set...(...){
...
throw INVALID_PARAM;
}
...
private final static Exception INVALID_PARAM=new RuntimeException("Incorrect value!");
+148
var isScheduledRadio = $('#ContentPlaceHolder1_FormView1_ctl04_ctl00___IsScheduled_RadioButtonList1_0')[0],
isSitnGoRadio = $('#ContentPlaceHolder1_FormView1_ctl04_ctl00___IsScheduled_RadioButtonList1_1')[0],
startDateTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl07___StartDate_TextBox1')[0],
minPlayersTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl14___MinPlayers_TextBox1')[0],
maxPlayersTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl15___MaxPlayers_TextBox1')[0],
maxPlayersRequiredValidator = $('#ContentPlaceHolder1_FormView1_ctl04_ctl15___MaxPlayers_RequiredFieldValidator1')[0],
maxPlayersRow = $('#ContentPlaceHolder1_FormView1_ctl04_ctl15___MaxPlayers_TextBox1')
.parent()
.parent()[0],
endDateTextBox = $('#ContentPlaceHolder1_FormView1_ctl04_ctl08___EndDate_TextBox1')[0],
endDateRequiredValidator = $('#ContentPlaceHolder1_FormView1_ctl04_ctl08___EndDate_RequiredFieldValidator1')[0],
endDateRow = $('#ContentPlaceHolder1_FormView1_ctl04_ctl08___EndDate_TextBox1')
.parent()
.parent()[0],
Увидел такой код с сорцах ASP.Net страницы
+65
$new_array = explode('.sep.', implode('.sep', $old_array));
Полезная функция с http://www.dzone.com/snippets/re-create-array-index