• Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Programmer's challenge

  • Thread starter Thread starter PerlOfWisdom
  • Start date Start date
P

PerlOfWisdom

Guest
Here's a bit of very badly written C-code that acts as a converter, transforming input to alternative output...

#include<stdio.h>
#include<string.h>

main()
{
char*O,l[999]="'`acgo\177~|xp .-\0R^8) NJ6%K4O+A2M(*0ID57$3G1FBL";
while(O=fgets(l+45,954,stdin)){
*l=O[strlen(O)[O-1]=0,strspn(O,l+11)];
while(*O)switch((*l&&isalnum(*O))-!*l){
case-1:{char*I=(O+=strspn(O,l+12)+1)-2,O=34;
while(*I&3&&(O=(O-16<<1)+*I---'-')<80);
putchar(O&93?*I&8||!(I=memchr(l,O,44))?'?':I-l+47:32);
break;
case 1: ;}*l=(*O&31)[l-15+(*O>61)*32];
while(putchar(45+*l%2),(*l=*l+32>>1)>35);
case 0: putchar((++O,32));}
putchar(10);}
}

The challenge is to deduce what the code is supposed to do.
Nb. you can't compile it as there are a couple of syntax errors.

I think I know the answer - it's contained in these 2 words:
malnourished
immunosuppressive
 
You think this is bad?? Up in the attic I have a huge tome of official IBM Fortran maths functions listings which I nicked years ago thinking they might come in handy. Every line has a label and almost very line has a goto, it's the coding equivalent of Hampton Court maze.

It made sense at the time. I think we were all much more intelligent in those days, the race back to primordial soup is clearly accelerating.
 

Advertisers

Back
Top