Hard Light Productions Forums
Off-Topic Discussion => Programming => Topic started by: blackhole on November 30, 2008, 08:49:24 pm
-
I wrote this sometime last year - I just found it again. I might have posted it here before, but it seems like it should be in the programming board (which didn't exist back then).
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef char NOM;
typedef void NoM;
typedef int nOM;
typedef size_t OmNoM;
typedef bool OMnOm;
#define OMNOmNOMnom
#define OMnOMnoM 175
#define OMNOMNOMnOM 1
#define OMNoM true
#define OMNOm false
#define OMnomNOM(omNom) cout << omNom
#define OMnomNOMnom(omNom) cout << omNom << endl
#define OmNOM(nOMNOm) delete nOMNOm
#define OmNOmNOm(nOMNOm) delete [] nOMNOm
#define omnOMnom(noMNom) strlen(noMNom)
#define OMNOmnoM(omNOm, OmNOm) strcmp(omNOm, OmNOm)
#define OMNoMnOm(omNoM, oMNOM, oMNOm) strcpy(omNoM, oMNOm)
/* NOMNOM - OMNOM NOM NOM OM NOMNOMNOM */
class NOMNOM
{
public:
NOMNOM(NOM* nOM=0);
~NOMNOM();
NOM* oMnom();
NoM oMNOM(NOM* nOM);
private:
NOM* omNOm; //NOM
};
/* OM - NOMNOMNOMNOM OMNOMNOM NOMNOM OM NOM */
class OM : NOMNOM
{
public:
OM(NOM* Om=0, NOM* nOM=0);
~OM();
OMnOm OMNOMNom();
NOM* OMnOmnom();
NoM OMNoMnom(NOM* Om);
private:
NOM* oMnOM; //OM NOM
};
/* OM NOMNOMNOMNOMNOM */
NOMNOM::NOMNOM(NOM *nOM)
{
if(!nOM)
omNOm = 0; //NOMNOM OMNOM
else
{
OmNoM omnOMNOm = omnOMnom(nOM)+1; //NOMNOM NOM NOM NOMNOM
omNOm = new NOM[omnOMNOm];
OMNoMnOm(omNOm, omnOMNOm, nOM); //OM NOM
}
}
/* OMNOMNOM - NOM */
NOMNOM::~NOMNOM()
{
if(omNOm != 0)
{
OmNOmNOm(omNOm); //NOM OMNOMNOMNOMNOM
omNOm = 0;
}
}
/* NOMNOM OMNOMNOMNOM NOM NOM */
NOM* NOMNOM::oMnom()
{
return omNOm; //OMNOM
}
/* NOM NOM */
NoM NOMNOM::oMNOM(NOM *nOM)
{
if(omNOm != 0)
{
OmNOmNOm(omNOm); //NOM OMNOMNOMNOMNOM
omNOm = 0;
}
OmNoM omnOMNOm = omnOMnom(nOM)+1; //NOMNOM NOM NOM NOMNOM
omNOm = new NOM[omnOMNOm];
OMNoMnOm(omNOm, omnOMNOm, nOM); //OM NOM
}
/* OMNOM NOM NOMNOMNOM om NOM nOM Om */
OM::OM(NOM *Om, NOM *nOM) : NOMNOM(nOM)
{
if(!Om)
oMnOM = 0; //NOMNOM OMNOM
else
{
OmNoM omnOMNOm = omnOMnom(Om)+1;
oMnOM = new NOM[omnOMNOm];
OMNoMnOm(oMnOM, omnOMNOm, Om);
}
}
/* OMNOMNOM */
OM::~OM()
{
if(oMnOM != 0)
{
OmNOmNOm(oMnOM); //OMNOMNOMNOM NOM
oMnOM = 0;
}
}
/* OMNOM - NOM */
OMnOm OM::OMNOMNom()
{
if(!oMnOM || !oMnom()) //NOM NOM OMNOM
return OMNOm;
OMnomNOM(oMnOM); //OMNOMNOM
for(nOM nomnomnom = 0; nomnomnom < OMnOMnoM; ++nomnomnom)
{
OMnomNOM(oMnom());
if(nomnomnom == OMnOMnoM-OMNOMNOMnOM)
OMnomNOMnom(oMnom());
}
return OMNoM;
}
/* OM OMNOMNOMNOM NOM NOM */
NOM* OM::OMnOmnom()
{
return oMnOM; //OMNOM
}
/* OM NOM NOM */
NoM OM::OMNoMnom(NOM* Om)
{
if(oMnOM != 0)
{
OmNOmNOm(oMnOM); //NOM OMNOMNOMNOMNOM
oMnOM = 0;
}
OmNoM omnOMNOm = omnOMnom(Om)+1; //NOMNOM NOM NOM NOMNOM
oMnOM = new NOM[omnOMNOm];
OMNoMnOm(oMnOM, omnOMNOm, Om); //OM NOM
}
/* NOMNOMNOMNOMNOM - OMNOMNOM */
nOM OMNOmNOMnom main(nOM OMnoM, NOM** omNoM)
{
OM* OMNOMNOM = new OM("OM", "NOM");
OMnOm OMnoMNOm = OMNoM; //OM NOMNOM
while(OMnoMNOm)
{
NOM OMnomnom[256]; //NOM
cin >> OMnomnom; //OM NOM NOM NOM
if(!OMNOmnoM(OMnomnom, "OMNOMNOM")) //NOMNOMNOMNOMNOMNOMNOMNOMNOM
OMnoMNOm = OMNOm; //OM
else
OMNOMNOM->OMNOMNom(); //OMNOM NOMNOM
}
OmNOM(OMNOMNOM);
}
-
Reminds me of Ook.
-
Whats the output like?
-
Yes, I think you did post it before, and it's still funny! :lol:
-
Whats the output like?
OMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOM
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
NOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNOMNO M
...yeah
-
Gung'f na njshy ybg bs bzf!
-
I'd like to that as an .exe please :) work won't know what hit them.
-
:D Very cool.
-
Ow, trying to figure out exactly what the code does hurt my head :blah:
-
Where's my .exe ?
-
IOCCC's webpage lists Pawka's entry in 1986:
#include "stdio.h"
#define xyxx char
#define xyyxx putchar
#define xyyyxx while
#define xxyyyx int
#define xxxyyx main
#define xyxyxy if
#define xyyxyy '\n'
xyxx *xyx [] = {
"]I^x[I]k\\I^o[IZ~\\IZ~[I^|[I^l[I^j[I^}[I^n[I]m\\I]h",
"]IZx\\IZx[IZk\\IZk[IZo_IZ~\\IZ~[IZ|_IZl_IZj\\IZj]IZ}]IZn_IZm\\IZm_IZh",
"]IZx\\IZx[I^k[I\\o]IZ~\\IZ~\\I]|[IZl_I^j]IZ}]I^n[IZm\\IZm_IZh",
"]IZx\\IZx[IZk\\IZk[IZo_IZ~\\IZ~_IZ|[IZl_IZj\\IZj]IZ}]IZn_IZm\\IZm]IZh",
"]I^x[I]k\\IZo_I^~[I^|[I^l[IZj\\IZj]IZ}]I^n[I]m^IZh",'\0'};/*xyyxyxyxxxyxxxyy*/
xyxx *xyyx; xxyyyx xyyyx,xyyyyx,xyyyyyx=0x59,xyyyyyyx=0x29,/*yxxyxyyyxxyyyxyy*/
xxyx=0x68;xxxyyx(){xyyyyx=0;xyyyxx(xyx[xyyyyx]){xyyx=xyx[xyyyyx++];/*xyyyxxyx*/
xyyyxx(*xyyx){xyyyx= *xyyx++-xyyyyyx;xyyyxx(xyyyx--)xyyxx(*xyyx-xyyyyyyx);/*x*/
xyxyxy(*xyyx==xxyx)xyyxx(xyyxyy);*xyyx++;}}}/*xyxyxyyyyxxyxxxyyyxyyyxyxxyyy*/
The other goodie is Korn's oneliner printing program (1987):
main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
I'm personally not willing to know how that one could even work.
More recent ones are a lot more crazier and next to impossible to figure out if one hasn't spent 20 years with C/C++.
Mika
-
I attached it as an EXE. You simply type in anything and it will reply with a bunch of 'NOMs.
[attachment stolen by Slimey Goober]
-
Yay! *does the happy dance.