- 1
- 2
- 3
- 4
if (cur1!=NULL){
while(cur1!=NULL){
...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+146
if (cur1!=NULL){
while(cur1!=NULL){
...
}
Вот такие вот потрясающие проверки в духе "нуавдруг?"
+118
public static IEnumerable<Tuple<A1, A2, A3, A4>>
CrossProduct<A1, A2, A3, A4>
(IEnumerable<A1> arg1, IEnumerable<A2> arg2,
IEnumerable<A3> arg3, IEnumerable<A4> arg4)
{
foreach (var a1 in arg1)
foreach (var a2 in arg2)
foreach (var a3 in arg3)
foreach (var a4 in arg4)
yield return Make.Tuple(a1, a2, a3, a4);
}
Интересно, а что этот человек будет делать, когда нужно будет n ступенек? :-)
+129
#include <iostream>
#include <string.h>
using namespace std;
int strsearch(char* from, char* what);
int getnumberafter(char* from, char* what);
int strch(char* a, char* b, int pos);
int strsearch(char* from, char* what)
{
int n=strlen(from)-strlen(what)+1;
int i;
for(i=0; i<n; i++)
if(strch(from, what, i)==strlen(what)) return i;
return 0;
}
int getnumberafter(char* from, char* what)
{
int p, ret=0;
if((p=strsearch(from,what))==0) return 0;
p+=strlen(what);
while(from[p]<'0'&&from[p]>'9')
{
p++;
if(p>=strlen(from)) return 0;
}
while(from[p]>='0'&&from[p]<='9'&&p<strlen(from))
{
ret=ret*10+(from[p++]-'0');
}
return ret;
}
int strch(char* a, char* b, int pos)
{
int i,n=min(strlen(a)-pos,strlen(b));
for(i=0; i<n; i++)
if(a[i+pos]!=b[i]) return i;
return i;
}
int main(int argc, char* argv[])
{
int i;
double max=1,vol=0;
for(i=0; i<argc; i++)
{
cout << i << ": " << argv[i] << endl;
if(strch(argv[i],"type",0)==4) { max=getnumberafter(argv[i],"max=");}
if(strch(argv[i],"values",0)==6) { vol=(getnumberafter(argv[i],"=")+getnumberafter(argv[i],","))/2;}
}
cout << vol/max << endl;
return 0;
}
Задача из чего-то типа этого:
numid=2,iface=MIXER,name='Master Playback Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
: values=31,31
| dBscale-min=-46.50dB,step=1.50dB,mute=0
Получить значение в процентах.
#./a.out `amixer cget numid=2`
0,67
+157
void foo()
{
if (!wxFile::Exists(defDir + resourcePath)) return false;
HBITMAP *bmp = new HBITMAP;
wxString path = defDir + resourcePath;
(*bmp) = (HBITMAP)LoadImage(0, path.c_str(), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
if (bmp != NULL) (*pMap)[resourceName] = bmp; else return false;
return true;
}
bool SXXXXBitmapStorage::releaseItem(wxString resourceName)
{
ScrollBitmapHash::iterator iterator = pMap->find(resourceName);
if (iterator == pMap->end()) return false;
if (iterator->second != NULL) delete (HBITMAP*)iterator->second;
pMap->erase(resourceName);
return true;
}
HDC* SXXXXBitmapStorage::adjustToDC(wxString resourceName)//we must delete this object
{
HBITMAP *bmp = this->getItem(resourceName);
if (bmp == NULL) return NULL;
HDC *pDC = new HDC();
(*pDC) = CreateCompatibleDC(0);
SelectObject(*pDC, *bmp);
return pDC;
}
И вы не поверите, этот код работал! Правда, конечно же, была утечка ресурсов
+162
Allow* AccessSection::check(CONNECTION * connection, char *username, char *password)
{
...
if (current->username != "" && username != "" && current->username != username)
continue;
...
Кусок кода из прокси-сервера Shweby
+121
private static readonly char SPECIFIER = "$"[0];
private static readonly char DELIMITER = ":"[0];
private static readonly char[] DELIMITER_ARRAY = new char[1] { DELIMITER };
В глубинах довольно большой CRM'ки
+152
$data = curl_init('http://'.$site.'/index/sub/');
curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($data, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($data, CURLOPT_POST, 1);
curl_setopt($data, CURLOPT_POSTFIELDS, $post);
curl_setopt($data, CURLOPT_HTTPHEADER, $headers);
curl_setopt($data, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($data, CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($data, CURLOPT_TIMEOUT,$timeout);
//curl_setopt($data, CURLOPT_COOKIEFILE, $cookie);
$data2 = curl_exec($data);
curl_close($data);
$return = iconv('utf-8','cp1251',$data2);
if (preg_match('/Неправильный логин или пароль/Ui',$return)) return FALSE; else return TRUE;
+115
#include "iostream"
using namespace std;
int main()
{
cout << "Vvedite storonu a:";
int a;
cin >> a;
cout << "Vvedite storonu b:";
int b;
cin >> b;
cout << "Vvedite storonu c:";
int c;
cin >> c;
int g=1;
while(g=1){
if(a==0||b==0||c==0){ cout << "Ne treugolnik";
break;}
if(a<=b+c || c<=a+b || b<=a+c){ cout << "Daaa!!! Treugolnik";}
break;}
return 0;
}
Вот как мы узнаем, треугольник ли это по сторонам.
+116
struct Epica
{
public:
signed int Value;
};
//...
Epica* ValEp[10][17];
//...
ValEp[i][jj][0].Value;
Угадайте, что с автором?
+166
function trimzero($i){
$i=trim($i);
if(is_string($i) && strlen($i)>1){
while(ereg("^0",$i))
$i=ereg_replace("^0",'',$i);
}
return $i;
}