- 1
- 2
- 3
unsigned b;
unsigned char num;
b = ((b & ((1 << num) - 1)) << ((sizeof(b) << 3) - num)) | (b >> num);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+141
unsigned b;
unsigned char num;
b = ((b & ((1 << num) - 1)) << ((sizeof(b) << 3) - num)) | (b >> num);
Долго не мог понять, что оно делает.
+164
$list_n_price[] = $n_price;
?>
<? } ?>
<?
for ($n_ar = 0; (count($list) - $n_ar) >= 4; $n_ar +=4) {
это человек писал ? 0_о
+160
MainDM->ADOQ_pr_kontr_vert->SQL->Add(
"SELECT Smena, Prostenok, Popravka, Val_zad_temp, t.Zam1, t.Zam2, t.Zam3, t.Zam4, "
"@sr1:=((t.Zam1 + t.Zam2 + t.Zam3 + t.Zam4) / 4) as sredn, "
"@p:= @sr1 - (avgtempr.avgZam1 + avgtempr.avgZam2 + avgtempr.avgZam3 + avgtempr.avgZam4) / 4 as popravka from "
"(SELECT avg(Zam1) as avgZam1, avg(Zam2) as avgZam2, avg(Zam3) as avgZam3, avg(Zam4) as avgZam4 from "
"(SELECT "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 1 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam1, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 2 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam2, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 3 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam3, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 4 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam4 "
"FROM kontroln_vertik WHERE kontroln_vertik.Date = \'2011-03-02\' "
"and kontroln_vertik.Storona = 1 "
"group by kontroln_vertik.Prostenok) zameri) avgtempr, "
"(SELECT kontroln_vertik.Smena, kontroln_vertik.Prostenok, kontroln_vertik.Popravka, "
"kontroln_vertik.Val_zad_temp, kontroln_vertik.Period_koks, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 1 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam1, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 2 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam2, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 3 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam3, "
"SUM(CASE "
"WHEN kontroln_vertik.Zamer = 4 THEN kontroln_vertik.Value ELSE 0 "
"END) as Zam4 "
"FROM kontroln_vertik "
"WHERE kontroln_vertik.Date = \'2011-03-02\' and "
"kontroln_vertik.Storona = 1 "
"group by kontroln_vertik.Prostenok) t"
);
+159
<? while ($cat = db_fetch_object($qid_c)) { ?>
<?
$n_p_id = $cat->id;
$n_p = $cat->name;
$list[] = "";
$list_n_p_id[] = $n_p_id;
$list_n_p[] = $n_p;
?>
<? } ?>
<table>
<?
for ($n_ar = 0; (count($list) - $n_ar) >= 4; $n_ar +=4) {
$first = $list[$n_ar];
$second = $list[$n_ar + 1];
$third = $list[$n_ar + 2];
$forth = $list[$n_ar + 3];
$first_n_p_id = $list_n_p_id[$n_ar];
$second_n_p_id = $list_n_p_id[$n_ar + 1];
$third_n_p_id = $list_n_p_id[$n_ar + 2];
$forth_n_p_id = $list_n_p_id[$n_ar + 3];
$first_n_p = "<a href=../collection/?id=$first_n_p_id>$list_n_p[$n_ar]</a>";
$n_ar1 = $n_ar + 1;
$second_n_p = "<a href=../collection/?id=$second_n_p_id>$list_n_p[$n_ar1]</a>";
$n_ar2 = $n_ar + 2;
$third_n_p = "<a href=../collection/?id=$third_n_p_id>$list_n_p[$n_ar2]</a>";
$n_ar3 = $n_ar + 3;
$forth_n_p = "<a href=../collection/?id=$forth_n_p_id>$list_n_p[$n_ar3]</a>";
print "<tr class=collection>" . "<td class=collection1>" . $first_n_p . "</td>" . "<td class=collection2>" . $second_n_p . "</td>" . "<td class=collection3>" . $third_n_p . "</td>" . "<td class=collection4>" . $forth_n_p . "</td>" . "</tr>";
}
?>
ну так нужно уметь!
+159
function get_products($category_id=0) {
/* get all the products under this category */
$qid = db_query("
SELECT
p.id
,p.name
,p.description
,p.price
,p.on_special
,p.images
,p.big_image
,p.price2
,p.price3
,pc.category_id
FROM
products p
,products_categories pc
WHERE p.id = pc.product_id
AND pc.category_id = $category_id
ORDER BY p.name
");
return $qid;
}
?>
<h2><? print_category_tree_collection($id)?></h2>
<table border=0 bordercolor=white>
<tr><td class=h2>
<? if (db_num_rows($qid_c) == 0) { ?>
<? while ($cat = db_fetch_object($qid_c)) { ?>
<li><a href="../collection/?id=<?=$cat->id?>"><? pv($cat->name) ?></a>
<? } ?>
<? } ?>
</td>
</tr>
ну где-то так нужно писать :)
+126
private const string constDefFeedLimitValue = "5";
private string feedLimit = constDefFeedLimitValue;
private int feedLmt;
protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
{
try
{
feedLmt = Convert.ToInt32(feedLimit);
}
catch (Exception)
{
feedLmt = 0;
}
...
}
Автор из Киева, имеет статус MVP.
+158
<script language="php">
$curl=curl_init("http://www.sportbox.ru");
$proxy='us:psw@IP:port';
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_PROXY, $proxy);
$content=curl_exec($curl);
preg_match_all('#<h3><a href(.*)>(.*)</a></h3>#siU', $content, $titles);
foreach ($titles[2] as $title)
echo "<b>$title</b><br>";
curl_close($content);
</script>
+119
Microsoft.Win32.RegistryKey Fregistry =
Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE")
.OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion")
.OpenSubKey("Installer").OpenSubKey("UserData")
.OpenSubKey("S-1-5-18").OpenSubKey("Products");
string []Names = Fregistry.GetSubKeyNames() ;
string uninstall = "";
string ApplicationName = "Adobe Reader 7.0.8";
for (int i = 0; i < Names.Length; i++)
{
Microsoft.Win32.RegistryKey FTemp = Fregistry.OpenSubKey(Names[i]).OpenSubKey("InstallProperties");
if (FTemp.GetValue("DisplayName").ToString() == ApplicationName)
{
object obj = FTemp.GetValue("UninstallString");
if (obj == null)
uninstall = "";
else
uninstall = obj.ToString();
i = Names.Length;
}
}
System.Console.WriteLine(uninstall);
System.Diagnostics.Process FProcess = new System.Diagnostics.Process();
string temp = "/x{" + uninstall.Split("/".ToCharArray())[1].Split("I{".ToCharArray())[2];
FProcess.StartInfo.FileName = uninstall.Split("/".ToCharArray())[0];
FProcess.StartInfo.Arguments = temp;
FProcess.StartInfo.UseShellExecute = false;
FProcess.Start();
System.Console.Read();
+146
public class Boruvka
{
// private representations
/**
* Array of edges, which form the MST of the graph
*/
private Edge[] mst;
/**
* Edges not yet discarded and not yet in the MST
*/
private Edge[] wannabes;
/**
* Each component's nearest neighbor with find component numbers as indices
*/
private Edge[] neighbors;
/**
* Graph representation on which we are searching for MST
*/
private Graph g;
/**
*
*/
private UnionFind uf;
// constructors and methods
/**
* constructor
* @param G Graph
*/
public Boruvka(Graph G) {
this.g = G;
}
/**
* Boruvka's algorithm
*
*
* @return minimal spanning tree - edges that form it
*/
public Edge[] BoruvkaMSTalg()
{
Edge hlpEdge = new Edge(g.getMaxWeight(), 0, 0);
this.uf = new UnionFind(g.getCountVerteces());
this.wannabes = new Edge[this.g.getCountEdges()];
/**
* Get all edges from the graph G to the array edges
*/
for (int i=0; i < g.getCountEdges(); i++)
this.wannabes[i] = g.getEdgeAt(i);
this.neighbors = new Edge[this.g.getCountVerteces()];
this.mst = new Edge[this.g.getCountVerteces()+1];
/**
* index, used to store those edges being saved for the next phase
*/
int nxtPhase;
int k=1;
for (int i=this.g.getCountEdges(); i!=0; i=nxtPhase)
{
int l, m, n;
for (int o=0; o<this.g.getCountVerteces(); o++)
this.neighbors[o] = hlpEdge;
for (n=0, nxtPhase=0; n<i; n++) {
Edge e = this.wannabes[n];
l = this.uf.find(e.getSVIndex()-1);
m = this.uf.find(e.getDVIndex()-1);
if ( l==m )
continue;
if ( e.getWeight() < this.neighbors[l].getWeight() )
this.neighbors[l] = e;
if ( e.getWeight() < this.neighbors[m].getWeight() )
this.neighbors[m] = e;
this.wannabes[nxtPhase++] = e;
}
for (n=0; n<this.g.getCountVerteces(); n++)
if ( this.neighbors[n] != hlpEdge ) {
l = this.neighbors[n].getSVIndex();
m = this.neighbors[n].getDVIndex();
if ( !this.uf.find(l,m) ) {
this.uf.unite(l,m);
this.mst[k++] = this.neighbors[n];
}
}
}
System.out.println("MST by Boruvka successful");
return this.mst;
}
}
Кто шарит в графах, помогите разобраться с алгоритмом Борувки для нахождения минимального остова графа. Код писал по коду Седжевика подстраивая под свой граф, но видимо наделал кучу глупостей, потому что алгоритм никогда не выходит из цикла. Подскажите где я ошибок наделал и как бы их исправить, буду очень благодарен.
+163
<title>
<?php
$t=$_SERVER['REQUEST_URI'];
switch($t)
{
case '/': echo "Канцтовары, бумага";
break;
case '/shopping/': echo "Каталог товаров: канцтовары, бумага, кресла, стулья, картриджи, хозтовары, офисная мебель";
break;
case '/collection/': echo "Коллекция рисунков: канцтовары, бумага, кресла, стулья, картриджи, хозтовары, офисная мебель";
break;
case '/shopping/?id=1': echo "Бухгалтерские бланки и книги";
break;
case '/collection/?id=1': echo "Коллекция бухгалтерских бланков и книг";
break;
case '/shopping/?id=9': echo "Каталог канцелярских товаров";
break;
default: echo " Канцтовары, бумага, кресла и стулья, картриджи";
}
?></title>
Правлю самописку 0_о
Формирование тайтла :)