Old lady swallowed a fly: Difference between revisions

Content added Content deleted
(incorrect)
Line 1: Line 1:
Present a program which emits the lyrics to the song ''I Knew an Old Lady Who Swallowed a Fly'', taking advantage of the repetitive structure of the song's lyrics.{{draft task}}
Present a program which emits the lyrics to the song ''I Knew an Old Lady Who Swallowed a Fly'', taking advantage of the repetitive structure of the song's lyrics.{{draft task}}


=={{header|C}}==
Boring, ad hoc dictionary based decompression. The encoder was arguably more interesting, though.
<lang c>#include <stdio.h>
#include <string.h>

char *dict[] = {
"\x1\x3,/\x1a\x4\xdThat w\xfw\xft\xeinside her;/\x13;/\x1a"
"\x4;/How absurd\x19\x5./\x14;/\x1a\x6;/Fancy that,\x19\x6!/\x15;/\x1a"
"\x7;/What a hog,\x19\x7!/\x16;/\x1a\x7;/\x18how, she\x19\x8;/\x17;/\x1a"
"\x9.../She's dead, of course!/",
"There was an old lady who""\x2""a ", "\x10""d ",
"fly", "spider", "bird", "cat", "dog", "cow", "horse",
" to catch the ", "\x18why she\x2""a ", "\x3 - Perhaps she'll die!//", ",/",
"iggled ", "\xe""and ", " swallow", "She\x2the ", "\xb\xc",
"\x11\x4\xa\x3",
"\x11\x5\xa\x4\xd\x13",
"\x11\x6\xa\x5\xd\x14",
"\x11\x7\xa\x6\xd\x15",
"\x11\x8\xa\x7\xd\x16",
"I don't know ", " to\x10 a ", "\x12\x1",
};

void write_out(char *s)
{
while (*s) {
if (*s == '/') putchar('\n');
else if (*s >= 32) putchar(*s);
else write_out(dict[(int)*s]);

s++;
}
}

int main()
{
write_out(dict[0]);
return 0;
}</lang>
=={{header|PHP}}==
=={{header|PHP}}==
{{incorrect|PHP|The program does not produce the correct lyrics. (See talk page)}}
{{incorrect|PHP|The program does not produce the correct lyrics. (See talk page)}}