#include <stdio.h>
#include <stdlib.h>
unsigned int data[][10] ={
// 0 1 2 3 4 5 6 7 8 9
{ 0,0,0,0,1,1,1,0,0,0}, // 0
{ 0,0,0,1,0,0,0,1,0,0}, // 1
{ 0,0,1,0,0,0,0,0,1,0}, // 2
{ 0,0,1,0,0,0,0,0,1,0}, // 3
{ 0,0,1,1,1,1,1,1,1,0}, // 4
{ 0,1,0,0,0,0,0,0,0,1}, // 5
{ 0,1,0,0,0,0,0,0,0,1}, // 6
{ 0,1,0,0,0,0,0,0,0,1}, // 7
{ 0,1,0,0,0,0,0,0,0,1}, // 8
{ 0,0,0,0,0,0,0,0,0,0}, // 9
};
void usage(void)
{
printf("command [option] [arg]"); }
enum{
TRUE = 1,
FALSE = 0,
MIN_X = 0,
MAX_X = 10,
MIN_Y = 0,
MAX_Y = 10,
ON = 0x1,
};
int main(int argc, char*argv[])
{
int i;
int x;
int y;
int debug = FALSE;
int bold = FALSE;
int reverse = FALSE;
for (i = 1; i < argc; i++)
{
if (argv[i][0] == '-') {
switch(argv[i][1])
{
case 'd': debug = TRUE; break;
case 'b': bold = TRUE; break;
case 'r': reverse = TRUE; break;
case 'e': usage();
default: usage();
}
}
}
if (debug == TRUE)
{
if (debug
== TRUE
) printf("debug = ON"); if (bold
== TRUE
) printf("bold = ON"); if (reverse
== TRUE
) printf("reverse = ON"); }
for (y = MIN_Y; y < MAX_Y; y++)
{
for (x = MIN_X; x < MAX_X; x++)
{
if (reverse == TRUE)
{
if (data
[y
][x
] == ON
) printf("_"); } else {
if (data
[y
][x
] == ON
) printf("X"); }
}
}
}
CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+Cgp1bnNpZ25lZCBpbnQgZGF0YVtdWzEwXSA9ewogIC8vICAwIDEgMiAzIDQgNSA2IDcgOCA5CiAgICB7IDAsMCwwLDAsMSwxLDEsMCwwLDB9LCAvLyAwCiAgICB7IDAsMCwwLDEsMCwwLDAsMSwwLDB9LCAvLyAxCiAgICB7IDAsMCwxLDAsMCwwLDAsMCwxLDB9LCAvLyAyCiAgICB7IDAsMCwxLDAsMCwwLDAsMCwxLDB9LCAvLyAzCiAgICB7IDAsMCwxLDEsMSwxLDEsMSwxLDB9LCAvLyA0CiAgICB7IDAsMSwwLDAsMCwwLDAsMCwwLDF9LCAvLyA1CiAgICB7IDAsMSwwLDAsMCwwLDAsMCwwLDF9LCAvLyA2CiAgICB7IDAsMSwwLDAsMCwwLDAsMCwwLDF9LCAvLyA3CiAgICB7IDAsMSwwLDAsMCwwLDAsMCwwLDF9LCAvLyA4CiAgICB7IDAsMCwwLDAsMCwwLDAsMCwwLDB9LCAvLyA5Cn07Cgp2b2lkIHVzYWdlKHZvaWQpCnsKICAgIHByaW50ZigiY29tbWFuZCBbb3B0aW9uXSBbYXJnXSIpOwogICAgZXhpdCgwKTsKfQoKZW51bXsKICAgVFJVRSA9IDEsCiAgIEZBTFNFID0gMCwKICAgTUlOX1ggPSAwLAogICBNQVhfWCA9IDEwLAogICBNSU5fWSA9IDAsCiAgIE1BWF9ZID0gMTAsCiAgIE9OID0gMHgxLAp9OwoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqYXJndltdKQp7CiAgIGludCBpOwogICBpbnQgeDsKICAgaW50IHk7CiAgIGludCBkZWJ1ZyA9IEZBTFNFOwogICBpbnQgYm9sZCAgPSBGQUxTRTsKICAgaW50IHJldmVyc2UgPSBGQUxTRTsKICAgZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykKICAgewogICAgICBpZiAoYXJndltpXVswXSA9PSAnLScpIHsKICAgICAgICAgIHN3aXRjaChhcmd2W2ldWzFdKQogICAgICAgICAgewogICAgICAgICAgICAgIGNhc2UgJ2QnOiBkZWJ1ZyAgID0gVFJVRTsgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSAnYic6IGJvbGQgICAgPSBUUlVFOyBicmVhazsKICAgICAgICAgICAgICBjYXNlICdyJzogcmV2ZXJzZSA9IFRSVUU7IGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgJ2UnOiB1c2FnZSgpOwogICAgICAgICAgICAgIGRlZmF1bHQ6ICB1c2FnZSgpOwogICAgICAgICAgfQogICAgICB9CiAgIH0KCiAgIGlmIChkZWJ1ZyA9PSBUUlVFKQogICB7CiAgICAgICBpZiAoZGVidWcgICA9PSBUUlVFKSBwcmludGYoImRlYnVnICAgPSBPTiIpOwogICAgICAgaWYgKGJvbGQgICAgPT0gVFJVRSkgcHJpbnRmKCJib2xkICAgID0gT04iKTsKICAgICAgIGlmIChyZXZlcnNlID09IFRSVUUpIHByaW50ZigicmV2ZXJzZSA9IE9OIik7CiAgIH0KCiAgICBmb3IgKHkgPSBNSU5fWTsgeSA8IE1BWF9ZOyB5KyspCiAgICB7CiAgICAgICAgZm9yICh4ID0gTUlOX1g7IHggPCBNQVhfWDsgeCsrKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKHJldmVyc2UgPT0gVFJVRSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKGRhdGFbeV1beF0gPT0gT04pIHByaW50ZigiXyIpOwogICAgICAgICAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICBwcmludGYoIlgiKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChkYXRhW3ldW3hdID09IE9OKSBwcmludGYoIlgiKTsKICAgICAgICAgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICBwcmludGYoIl8iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBwcmludGYoIlxuIik7CiAgICB9Cn0K