- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
#include <iostream>
#include <typeinfo>
struct Test {};
int main()
{
std::cout << typeid(int).name() << ", " << typeid(Test).name() << std::endl;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+64
#include <iostream>
#include <typeinfo>
struct Test {};
int main()
{
std::cout << typeid(int).name() << ", " << typeid(Test).name() << std::endl;
}
Очередные КРЕСТОПРОБЛЕМЫ.
MSVC: int, struct Test
GCC: i, 4Test
http://ideone.com/KPsIlP
Вот что говорит стандарт:
The class type_info describes type information generated by the implementation. Objects of this class effectively store a pointer to a name for the type, and an encoded value suitable for comparing two types for equality or collating order. The names, encoding rule, and collating sequence for types are all unspecified and may differ between programs.
RTTI ещё бесполезнее, чем я думала.
+126
using System.Management;
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_DiskDrive");
foreach(ManagementObject queryObj in searcher.Get())
{
foreach(ManagementObject o in queryObj.GetRelated("Win32_DiskPartition"))
{
foreach(ManagementBaseObject b in o.GetRelated("Win32_LogicalDisk"))
{
Debug.WriteLine(" #Name: {0}", b["Name"]);
}
}
// One of: USB, IDE
Debug.WriteLine("Interface: {0}", queryObj["InterfaceType"]);
Debug.WriteLine("--------------------------------------------");
}
}
catch (ManagementException f)
{
Debug.WriteLine(f.StackTrace);
Тру кодер изобрел собственный способ получения сведений о дисках.
WinApi для петушков.
−96
def run(self):
count = 0
while True:
if count < 5:
self.saveUsers(self.queue.get())
count += 5
else:
GlobalConfig().setUsers(self.db.selectUsers())
count = 0
self.db.close()
bool не нужен!
+18
bool isRightTriangle(int a, int b, int c)
{
int przeciw=a;
if (b>przeciw) przeciw = b;
if (c>przeciw) przeciw = c;
if (przeciw=a)
if (a*a==b*b+c*c) return true;
else if (przeciw=b)
if (b*b==a*a+c*c) return true;
else if (przeciw=c)
if (c*c==a*a+b*b) return true;
return false;
}
+113
#include <stdio.h>
int main()
{
void say_hello()
{
puts("Hello govnokod!");
}
say_hello();
return 0;
}
http://ideone.com/QZipp
+83
private String toHTML(String unicode)
{
String output = "";
char[] charArray = unicode.toCharArray();
for (int i = 0; i < charArray.length; ++i)
{
if ((int)charArray[i]>255)
{
String s = ""+Integer.toHexString(charArray[i]);
switch (s.length())
{
case 1: s="\\u000"+s; break;
case 2: s="\\u00"+s; break;
case 3: s="\\u0"+s; break;
case 4: s="\\u"+s; break;
default: throw new RuntimeException( s +" is tool long to be a Character");
}
output += s;
}
else
{
output += charArray[i];
}
}
return output;
}
Эпичнейший говнокод! На серваке top показывает нагрузку 10-12. 3000 пользователей, 100 нод, интеграция с SAP, который пачками проводит документы и выдаёт цены, отчёты по остаткам и т.п. И всё это, как оказалось, капля в море по сравнению с 5 человеками техподдержки, которые сидят в аяксовой консоле мониторинга, для которой HTTP-ответ экранируется данным шедевром. Без этого шедевра нагрузка держится в районе 2-3 даже при достаточно большой активности.
−153
Итак, у вас есть два стека с ограничением на размер - N. Стеки поддерживают операции push, pop, top.
pop пустого стека, как и push заполненного стека вызывает соответствующее исключение.
Необходимо из этих двух стеков смоделировать стек с таким же размером, но с дополнительным свойством -\
push заполненного стека вызывает затирание последнего элемента стека, push(41,[1,2,3]) -> [41,1,2] ,\
где N=3.
Время пошло. Язык программирования любой.
Да, это не говнокод, но 90% кандидатов не могут ее решить. (Наверное, потому, что язык собеседования - 1С)
−102
210 IF A$='1' THEN 2000
220 IF A$='2' THEN 2010
230 IF A$='3' THEN 2020
240 IF A$='4' THEN 2030
250 IF A$='5' THEN 2040
260 IF A$='6' THEN 2060
270 IF A$='7' THEN 2070
280 IF A$='8' THEN 2080
285 IF A$='9' THEN 4000
290 IF A$='10' THEN 3000
говнокод прямо с обложки книги по прикладному васику для ИТР
+133
<div class="title green big">
</div>
HTML. Семантичная семантика такая семантичная.
+102
var zaxita, ataka, zaxitacomp, atakacomp, yron, yroncomp: integer;
begin
Label3.Caption := IntToStr(healt);
Label4.Caption := IntToStr(healtcomp);
If Radiobutton1.Checked = True then
begin
zaxita := 1;
yron := 3;
end;
If Radiobutton2.Checked = True then
begin
zaxita := 2;
yron := 2;
end;
If Radiobutton3.Checked = True then
begin
zaxita := 3;
yron := 1;
end;
If Radiobutton4.Checked = True then ataka := 3;
If Radiobutton5.Checked = True then ataka := 2;
If Radiobutton6.Checked = True then ataka := 1;
zaxitacomp := Random(4);
atakacomp := Random(4);
If zaxita <> atakacomp then
begin
healt := healt - yron;
Label3.Caption := IntToStr(healt);
If healt <= 0 then
begin
MessageBeep(48);
ShowMessage('Вы проиграли. Ваш труп скормят крысам!');
Close;
end;
If zaxitacomp <> ataka then
begin
healtcomp := healtcomp - ataka;
Label4.Caption := IntToStr(healtcomp);
If healtcomp <= 0 then
begin
MessageBeep(48);
ShowMessage('Вы выйграли! Поздравляю! Теперь можете разграбить своего врага! О, что это?!');
end;
end;
end;
end;
end.
Это оффлайн симулятор игры карнаж. Игра такая игра