- 1
- 2
#define MERGE(X,Y) X##Y
typedef unsigned MERGE(ch,ar) byte;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+164
#define MERGE(X,Y) X##Y
typedef unsigned MERGE(ch,ar) byte;
+157
if ( условие ) ;
{
//что-либо сделать
};
//"счастливой отладки" v.2.0
отгреб в собственном-же коде)))))
+191
// I am not responsible of this code.
// They made me write it, against my will.
double penetration;
http://community.livejournal.com/programmers_fun/65300.html
+161
void __fastcall ReverseStream(TMemoryStream* Stream)
{
TMemoryStream* buf = new TMemoryStream;
buf->LoadFromStream(Stream);
__int64 size = Stream->Size;
Stream->Clear();
for (__int64 i=size-1; i >= 0; i--) {
buf->Position = i;
Stream->CopyFrom(buf, 1);
}
}
Мне cpu+mem жалко, когда такие простые задачи творят через такие навороты...
+143
#include "StdAfx.h"
#include <stdio.h>
#include <conio.h>
#include <Windows.h>
int main()
{
int hs, hr, ms, mr, resulth, resultm;
printf("-----------------------------------\n------ Counting machine 3000 ------ \n \n");
printf("Write start time: ");
scanf("%d %d", &hs, &ms);
printf("Write time on the road: ");
scanf("%d %d", &hr, &mr);
printf("Expect to perform a calculation...\n");
Sleep(4000);
resulth=hs+hr;
resultm=ms+mr;
while (resulth>=24)
{
resulth=resulth-24;
}
if (resultm>=60)
{
resultm=resultm-60;
resulth++;
}
printf("Done! You'll reach your destination at ", "%d", resulth, ":", "%d", resultm, ".");
printf("%d", resulth);
printf(":");
printf("%d", resultm, ".");
printf(".");
printf("\n\n-----------------------------------");
int i;
scanf("%d", &i);
return 0;
}
«Время отправления и время прибытия поезда задаются в виде Ч М, где Ч - час от 0 до 23, М - минута от 0 до 59. Время в пути задаётся аналогично в формате Ч М, где Ч - количество часов от 0 до 999, а М - количество минут от 0 до 59.
Требуется по данному времени отправления и времени в пути вычислить время прибытия поезда (возможно, в другие сутки).»
+169
if(typeid(*Line1)==typeid(TLine)) ; else
if(typeid(*Line2)==typeid(TLine)) {cLine=Line1; Line1=Line2; Line2=cLine;} else
if(typeid(*Line1)==typeid(TRay)) ; else
if(typeid(*Line2)==typeid(TRay)) {cLine=Line1; Line1=Line2; Line2=cLine;} else
if(typeid(*Line1)==typeid(TLineSegment)) ; else
if(typeid(*Line2)==typeid(TLineSegment)) {cLine=Line1; Line1=Line2; Line2=cLine;}
if(typeid(*Line1)==typeid(TLine)) {
if(typeid(*Line2)==typeid(TLine)) return 1; else
if(typeid(*Line2)==typeid(TRay)) {
if(
(( ((TRay*)Line2)->X1<=((TRay*)Line2)->X2 && ((TRay*)Line2)->X1<=Point.x ) ||
( ((TRay*)Line2)->X1>=((TRay*)Line2)->X2 && ((TRay*)Line2)->X1>=Point.x )) &&
(( ((TRay*)Line2)->Y1<=((TRay*)Line2)->Y2 && ((TRay*)Line2)->Y1<=Point.y ) ||
( ((TRay*)Line2)->Y1>=((TRay*)Line2)->Y2 && ((TRay*)Line2)->Y1>=Point.y ))
)
return 1;
else
return -1;
} else
if(typeid(*Line2)==typeid(TLineSegment)) {
if(
(( ((TLineSegment*)Line2)->X1<=Point.x && Point.x<=((TLineSegment*)Line2)->X2 )||( ((TLineSegment*)Line2)->X2<=Point.x && Point.x<=((TLineSegment*)Line2)->X1 )) &&
(( ((TLineSegment*)Line2)->Y1<=Point.y && Point.y<=((TLineSegment*)Line2)->Y2 )||( ((TLineSegment*)Line2)->Y2<=Point.y && Point.y<=((TLineSegment*)Line2)->Y1 ))
)
return 1;
else
return -1;
}
} else
if(typeid(*Line1)==typeid(TRay)) {
if(typeid(*Line2)==typeid(TRay)) {
if(
((( ((TRay*)Line1)->X1<=((TRay*)Line1)->X2 && ((TRay*)Line1)->X1<=Point.x ) ||
( ((TRay*)Line1)->X1>=((TRay*)Line1)->X2 && ((TRay*)Line1)->X1>=Point.x )) &&
(( ((TRay*)Line1)->Y1<=((TRay*)Line1)->Y2 && ((TRay*)Line1)->Y1<=Point.y ) ||
( ((TRay*)Line1)->Y1>=((TRay*)Line1)->Y2 && ((TRay*)Line1)->Y1>=Point.y )))
&&
((( ((TRay*)Line2)->X1<=((TRay*)Line2)->X2 && ((TRay*)Line2)->X1<=Point.x ) ||
( ((TRay*)Line2)->X1>=((TRay*)Line2)->X2 && ((TRay*)Line2)->X1>=Point.x )) &&
(( ((TRay*)Line2)->Y1<=((TRay*)Line2)->Y2 && ((TRay*)Line2)->Y1<=Point.y ) ||
( ((TRay*)Line2)->Y1>=((TRay*)Line2)->Y2 && ((TRay*)Line2)->Y1>=Point.y )))
)
return 1;
else
return -1;
} else
if(typeid(*Line2)==typeid(TLineSegment)) {
if(
((( ((TRay*)Line1)->X1<=((TRay*)Line1)->X2 && ((TRay*)Line1)->X1<=Point.x ) ||
( ((TRay*)Line1)->X1>=((TRay*)Line1)->X2 && ((TRay*)Line1)->X1>=Point.x )) &&
(( ((TRay*)Line1)->Y1<=((TRay*)Line1)->Y2 && ((TRay*)Line1)->Y1<=Point.y ) ||
( ((TRay*)Line1)->Y1>=((TRay*)Line1)->Y2 && ((TRay*)Line1)->Y1>=Point.y )))
&&
((( ((TLineSegment*)Line2)->X1<=Point.x && Point.x<=((TLineSegment*)Line2)->X2 )||( ((TLineSegment*)Line2)->X2<=Point.x && Point.x<=((TLineSegment*)Line2)->X1 )) &&
(( ((TLineSegment*)Line2)->Y1<=Point.y && Point.y<=((TLineSegment*)Line2)->Y2 )||( ((TLineSegment*)Line2)->Y2<=Point.y && Point.y<=((TLineSegment*)Line2)->Y1 )))
)
return 1;
else
return -1;
}
return 1;
} else
if(typeid(*Line1)==typeid(TLineSegment)) {
if(
((( ((TLineSegment*)Line1)->X1<=Point.x && Point.x<=((TLineSegment*)Line1)->X2 )||( ((TLineSegment*)Line1)->X2<=Point.x && Point.x<=((TLineSegment*)Line1)->X1 )) &&
(( ((TLineSegment*)Line1)->Y1<=Point.y && Point.y<=((TLineSegment*)Line1)->Y2 )||( ((TLineSegment*)Line1)->Y2<=Point.y && Point.y<=((TLineSegment*)Line1)->Y1 )))
&&
((( ((TLineSegment*)Line2)->X1<=Point.x && Point.x<=((TLineSegment*)Line2)->X2 )||( ((TLineSegment*)Line2)->X2<=Point.x && Point.x<=((TLineSegment*)Line2)->X1 )) &&
(( ((TLineSegment*)Line2)->Y1<=Point.y && Point.y<=((TLineSegment*)Line2)->Y2 )||( ((TLineSegment*)Line2)->Y2<=Point.y && Point.y<=((TLineSegment*)Line2)->Y1 )))
)
return 1;
else
return -1;
}
Имеются классы:
class TLine; // Линия
class TRay: public TLine; // Луч
class TLineSegment: public TRay; // Отрезок
Функция записывает в Point точку пересечения прямых и возвращает 0 если прямые параллельны, -1 если пересекаются продолжения отрезков и 1 если пересекаются отрезки.
Выше представлен кусок кода где проводится проверка, принадлежит точка пересечения отрезкам или их продолжениям.
+178
прислали реальный код:
while(i --> 10) { }
придумано, но выглядят эффектно:
while (i <- 10) {}
while( *i* *i* *i* *i* (4 /* раза повторить *i* */) > 0) {}
int n = i ** i;
int n = i ********* i;
int n = a / * b; // это не открытие комментария - там пробел есть
int n = a? 0:-E; /* типа смайлик 0 : - E в коде */
или даже
while(myclass<i> *a2) {}
что на самом деле является вот этим:
int myclass = 0;
int *a2 = &myclass;
while( (myclass < i) > *a2) {}
о неправильной расстановке пробелов...
или за что нужно убивать.
+145
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int Sum (int x, int y)
{
cout << "Принято " << x << " и " << y << "\n";
return (x+y);
}
int Frac (int x, int y)
{
cout << "Принято " << x << " и " << y << "\n";
return 0;
}
int Diff (int x, int y)
{
cout << "Принято " << x << " и " << y << "\n";
return (x-y);
}
int Multiplic (int x, int y)
{
cout << "Принято " << x << " и " << y << "\n";
return (x*y);
}
void Exiting ()
{
cout << "\nДля выхода из приложения нажмите любую клавишу...";
_getch();
}
void Call ()
{
cout << "\nВведите 2 числа через пробел и нажмите Enter: ";
}
int main()
{
setlocale(LC_ALL,"RUS");
int a,b,c,k;
cout << "Данный калькулятор может выполнять операции только над целыми числами.\n(c) 2010 - Конфиденциальность. All Rights Reserved.\n";
cout << "\nВыберите, что вы хотите сделать с числами: \n1-Сложить, 2-Вычесть, 3-Умножить, 4-Разделить \n"; cin >> k;
switch (k)
{
case 1: int Sum(); break;
case 2: int Diff(); break;
case 3: int Multiplic(); break;
case 4: int Frac(); break;
default: cout << "Вариант не выбран! \n"; return 1;
}
if (k==1){
Call();
cin >> a;
cin >> b;
c=Sum(a,b);
cout << "\nРЕЗУЛЬТАТ: " << c;
cout << "\n";
Exiting ();
return 0;
}
if (k==2){
Call();
cin >> a;
cin >> b;
c=Diff(a,b);
cout << "\nРЕЗУЛЬТАТ: " << c;
cout << "\n";
Exiting ();
return 0;
}
if (k==3){
Call();
cin >> a;
cin >> b;
c=Multiplic(a,b);
cout << "\nРЕЗУЛЬТАТ: " << c;
cout << "\n";
Exiting ();
return 0;
}
if (k==4){
Call();
cin >> a;
cin >> b;
if (b==0){
cout << "\nДеление на 0 невозможно!\n";
Exiting ();
return 0;
}
Frac(a,b);
cout << "\nРЕЗУЛЬТАТ: " << (float) a/b;
cout << "\n";
Exiting ();
return 0;
}
}
я только учусь языку C++.
и это один из первых моих кодов)
это примитивный калькулятор
возможно спецы вдоволь поржут с такого кода.. :))
+144
int a;
if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){if(a=0){}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
fatal error C1061: ограничение компилятора: недопустимая степень вложения блоков
MSVS 2010; C++ win32 console
+165
case KEY_F9: {
if ( !strcmp( chlist->gettype(), "ethernet" ) ) {
/* Редактор канала Ethernet */
char buf[0x100];
chlist->gen_path_chan( CHANCONFDIR, "/m.cfg", buf );
//
tethcfgedit* edit = new tethcfgedit( getscr(), buf );
edit->layer = layer;
edit->Run();
delete edit;
} else if ( !strcmp( chlist->gettype(), "gprs" ) ) {
/* Редактор канала GPRS */
char buf[0x100];
chlist->gen_path_chan( CHANCONFDIR, "", buf );
//
tgprscfgedit* edit = new tgprscfgedit( getscr(), buf );
edit->layer = layer;
edit->Run();
delete edit;
} else if ( !strcmp( chlist->gettype(), "gsm" ) ) {
/* Редактор канала GSM */
char buf[0x100];
chlist->gen_path_chan( CHANCONFDIR, "", buf );
//
tgsmcfgedit* edit = new tgsmcfgedit( getscr(), buf );
edit->layer = layer;
edit->Run();
delete edit;
} else if ( !strcmp( chlist->gettype(), "gsppp" ) ) {
/* Редактор канала GS (пакетный) */
char buf[0x100];
chlist->gen_path_chan( CHANCONFDIR, "", buf );
//
tgspppcfgedit* edit = new tgspppcfgedit( getscr(), buf );
edit->layer = layer;
edit->Run();
delete edit;
} else if ( !strcmp( chlist->gettype(), "gs" ) ) {
/* Редактор канала GS (прямой) */
char buf[0x100];
chlist->gen_path_chan( CHANCONFDIR, "", buf );
//
tgscfgedit* edit = new tgscfgedit( getscr(), buf );
edit->layer = layer;
edit->Run();
delete edit;
} else if ( !strcmp( chlist->gettype(), "radio" ) ) {
/* Редактор канала радиомодема */
char buf[0x100];
chlist->gen_path_chan( CHANCONFDIR, "", buf );
//
tradiocfgedit* edit = new tradiocfgedit( getscr(), buf );
edit->layer = layer;
edit->Run();
delete edit;
} else if ( !strcmp( chlist->gettype(),"cbs" ) ) {
/* Редактор канала Ethernet */
char buf[0x100];
chlist->gen_path_chan( CHANCONFDIR,"",buf );
//
tcbscfgedit* edit=new tcbscfgedit( getscr(),buf );
edit->layer = layer;
edit->Run();
delete edit;
} else if ( !strcmp( chlist->gettype(), "ptsn" ) ) {
/* Редактор канала GSM */
char buf[0x100];
chlist->gen_path_chan( CHANCONFDIR, "", buf );
//
tptsncfgedit* edit = new tptsncfgedit( getscr(), buf );
edit->layer = layer;
edit->Run();
delete edit;
}
......
Кусок case'a, где запускается редактор настроек соотвествующего канала связи. Код из одной встроенной железки.