- 1
- 2
- 3
- 4
- 5
- 6
- 7
for j:=k+1 to n+1 do
begin
r:=a[j,k]/a[k,k];
for i:=k to n do
begin
a[j,i]:=power(((a[j,i]-r*a[k,i]):a[i,j]),a[j,i]);
end;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+98
for j:=k+1 to n+1 do
begin
r:=a[j,k]/a[k,k];
for i:=k to n do
begin
a[j,i]:=power(((a[j,i]-r*a[k,i]):a[i,j]),a[j,i]);
end;
К сожалению, я уже забыл, какой идентификатор что значит :(
Придется переписывать.
+78
public class LoadManager
{
public static Integer DEFAULT_MAX_LOAD_COUNTER = 2;
private ConcurrentHashMap<Class, Integer> loadCounters = new ConcurrentHashMap<Class, Integer>();
public void incLoadCounter(Class clazz)
{
synchronized (loadCounters)
{
if (!loadCounters.containsKey(clazz))
{
loadCounters.put(clazz, 0);
}
if (loadCounters.get(clazz) <= DEFAULT_MAX_LOAD_COUNTER)
{
loadCounters.put(clazz, loadCounters.get(clazz) + 1);
}
}
}
public void testLoadCounterAndWait(Class clazz)
{
synchronized (loadCounters)
{
if (!loadCounters.containsKey(clazz))
{
loadCounters.put(clazz, 0);
}
}
try
{
while (loadCounters.get(clazz) > DEFAULT_MAX_LOAD_COUNTER)
{
Thread.sleep(3000L + (long)Math.floor(5000 * Math.random()));
}
}
catch (InterruptedException e) {}
}
public void decLoadCounter(Class clazz)
{
synchronized (loadCounters)
{
if (!loadCounters.containsKey(clazz))
{
loadCounters.put(clazz, 0);
}
if (loadCounters.get(clazz) > 0)
{
loadCounters.put(clazz, loadCounters.get(clazz) - 1);
}
}
}
}
Наверное, нужно было вот это: http://download.oracle.com/javase/1,5.0/docs/api/java/util/concurrent/Semaphore.html
Ну и ещё порадовал способ постановки потоков в "очередь".
+118
private SqlConnection SqlConnection;
private SqlTransaction SqlTransaction;
private SqlCommand SqlCommand;
private SqlDataReader SqlDataReader;
protected void BtnRegister_Click(object sender, EventArgs e)
{
using(SqlConnection connection = new SqlConnection())
{
if(textBoxUsername != null)
{
if(textBoxPassword != null)
{
if(textBoxCountry !=null)
{
if(textBoxCity !=null)
{
SqlCommand.CommandText = "INSERT INTO SiteDB (Username, Password, Email, City, Country)"+
"VALUES ('textBoxUsername', 'textBoxPassword', 'textBoxCountry', 'textBoxCity')";
SqlCommand.ExecuteNonQuery;
}
}
}
}
}
}
Прислали недавно пример кода вместе с резюме на поизицию ASP.NET Developper.
+98
case ColorChunkStart of
0 : result := RGB(255,
(255 div ColorChunk) * ColorChunkIndex,
0);
1 : result := RGB(255 - (255 div ColorChunk) * ColorChunkIndex,
255,
0);
2 : result := RGB(0, 255, (255 div ColorChunk) * ColorChunkIndex);
3 : result := RGB(0,
255 - (255 div ColorChunk) * ColorChunkIndex,
255);
4 : result := RGB((255 div ColorChunk) * ColorChunkIndex,
0,
255);
5 : result := RGB(255,
0,
255 - (255 div ColorChunk) * ColorChunkIndex);
else
if WrapToRed <> false then
result := RGB(255, 0, 0) else
result := RGB(255, 0, 255);
end;{Case}
Говно?
+132
open System.Net
open System.Text.RegularExpressions
open System.Text
open System
type userInfo =
{ User : string;
Rating : double;}
let mutable Users = []
(* Заполняем списки юзверей *)
let getUsersInfo s =
let mutable m = Regex.Match(s, @">(?<user>[^<]+)</a></td>\s+<td class=""strength"">[^<]+</td>\s+<td class=""rating""><strong>(?<rating>[^<]+)") //+ Оптимизировать регулярку. (Page 2)
while(m.Success) do
let info = {User = m.Groups.["user"].Value; Rating = m.Groups.["rating"].Value |> double}
Users <- Users @ [info]
m <- m.NextMatch()
(* скачивание страницы по индексу *)
let getSourceForUsers p =
let url = "http://freehabr.ru/people/good/page" + string(p)
let wc = new WebClient();
let s = wc.DownloadString(url);
printfn "Разобрана %i страница" p
getUsersInfo s
(* получить индекс последней страницы *)
let getLastPage =
let wc = new WebClient()
wc.Encoding <- Encoding.UTF8
let s = wc.DownloadString "http://freehabr.ru/people/"
Regex.Match(s,@"(?<=e)\d+(?=/"">п)").Value |> int
let lastPage = getLastPage
let printList a =
a |> List.iter (fun x -> printfn "%s рейтинг - %.2f" x.User x.Rating)
Console.ReadKey() |> ignore
[<EntryPoint>]
let main(args:string[]) =
printfn "Парсер юзерей с положительным (или нулевым) рейтингом"
printfn "%i -- Количество страниц" lastPage
printfn "scan --XX - __ Cбор списка пользователей от первой страницы до XX"
printfn "scan --YY --XX __ Сбор списка пользователей от YY страницы до XX. \nXX не может быть больше, чем максимальное количество страниц в списках юзеров с положительной кармой"
let userInput = Console.ReadLine();
match userInput with
| _ when userInput.StartsWith "scan --" -> let a = Regex.Split(userInput,"--")
let dig = a.[1] |> int
if a.Length = 2 then // для первого варианта
[1 .. dig]
|> List.iter getSourceForUsers
else // для второго
[ dig .. a.[2] |> int ]
|> List.iter getSourceForUsers
printfn "~~~\nЮзеры посчитаны"
| _ -> printfn "Завершение приложения"
exit(1)
printfn "~~~~\nОбработка списка\n~~~~"
printfn "usersGreaterRate --XX __ Показать пользователей,\nу которых рейтинг больше или равен XX"
printfn "usersLessRate --XX __ Показать пользователей,\nу которых рейтинг меньше или равен XX"
printfn "usersWithNamesBegins --String __ Показать пользователей,\nу которых имя начинается со строки String"
let usersOper = Console.ReadLine()
let param = Regex.Split(usersOper," --").[1]
match usersOper with
| _ when usersOper.StartsWith "usersGreaterRate --" -> Users
|> List.filter (fun x -> x.Rating > (param |> double))
|> printList
| _ when usersOper.StartsWith "usersLessRate --" -> Users
|> List.filter (fun x -> x.Rating < (param |> double))
|> printList
| _ when usersOper.StartsWith "usersWithNamesBegins --" -> Users
|> List.filter (fun x -> x.User.StartsWith param)
|> printList
| _ -> printfn "Завершение приложения"
exit(1)
0
+147
private function _fileExists($file)
{
if(file_exists(self::FILE_PATH . $file)) {
return true;
}
return false;
}
Нашел в одном из проектов.
+162
public function save() {
try {
try {
$this->create();
} catch (Exception $e) {
//probably dulplicate
$this->update();
}
} catch (Exception $e) {
logger::error($e);
}
}
try-catch много не бывает
+158
//Отображеие меню
$arr = get("select max(depth) as d from ".DP."docs");
$to = $arr[0]['d'];
$a = get("select * from ".DP."docs where depth='0' order by prior");
$arr = $a;
for($i=0;$i<=$to;$i++)
{
$a = get("select * from ".DP."docs where depth='".$i."' order by prior");
if(is_array($a))
foreach($a as $key=>$value)
{
$b = array();$af = array();$bf = array();
$b = get("select * from ".DP."docs where pid='".$a[$key]['id']."' order by prior");
if(!$b)$b = array();
$before = true;
//поиск в массиве
foreach($arr as $key2=>$value2)
{
if($arr[$key2]['id'] != $a[$key]['id'] and $before) $bf[] = $arr[$key2];
if($arr[$key2]['id'] == $a[$key]['id'] ){ $bf[] = $arr[$key2]; $before=false;}
if($arr[$key2]['id'] != $a[$key]['id'] and !$before) $af[] = $arr[$key2];
}
$arr = array_merge($bf,$b,$af);
}
}
построение дерева сайта. хотя может я не разобрался, весь код пестрит такими перлами.
+126
FileStream fsSource = new FileStream(fileName, FileMode.Open, FileAccess.Read);
byte[] b = new byte[8192];
int[] a = new int[4096];
fsSource.Read(b, 0, 8192);
int sum=0;
int elem;
for (int i = 0; i < 4096; i++)
{
elem = b[i * 2] * 256 + b[i*2+1];
a[i] = elem; //раз уж нам всё равно надо заполнять этот массив, то мы его заполним
sum += elem;
}
задача: считать 2-х байтные числа с бинарного файла и посчитать его сумму.
+171
function trim_and_screening(&$item, $key)
{
$item = '`'.$item.'`';
}