#include <stdio.h>
#include <memory.h>
// For clarity
#define COLUMNS 7
#define ROWS 7
int try_row(char line[COLUMNS], size_t idx)
{
int foundchar = 0;
if(line[idx])
{
foundchar = 1;
printf("%s\n", line);
}
return foundchar;
}
int try_column(char buf[COLUMNS][ROWS], size_t idx;)
{
int foundchar = 0;
foundchar = foundchar || try_row(buf[0], idx);
foundchar = foundchar || try_row(buf[1], idx);
foundchar = foundchar || try_row(buf[2], idx);
foundchar = foundchar || try_row(buf[3], idx);
foundchar = foundchar || try_row(buf[4], idx);
foundchar = foundchar || try_row(buf[5], idx);
foundchar = foundchar || try_row(buf[6], idx);
return foundchar;
}
int main()
{
char buf[7][7];
memset(buf[0], 0, 7);
memset(buf[1], 0, 7);
memset(buf[2], 0, 7);
memset(buf[3], 0, 7);
memset(buf[4], 0, 7);
memset(buf[5], 0, 7);
memset(buf[6], 0, 7);
if(try_column(buf, 5)) return 0;
if(try_column(buf, 4)) return 0;
if(try_column(buf, 3)) return 0;
if(try_column(buf, 2)) return 0;
if(try_column(buf, 1)) return 0;
if(try_column(buf, 0)) return 0;
// Nothing found.
return 0;
}