Maldición en que esto fallando; por favor ayuda!!

Rev
29 de Enero del 2004
Estoy intrigado ya que llevo un rato tratando de comprender el por que no puedo hacer que la pantalla tenga esta apariencia

1111111111
1000000001
1000000001
1000000001
1111111111

Ya que el resultado si deciden compilar este código es muy erratico por favor ayudenme.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int a,b,x,y,tablero[78*50];

class ejercicio
{
public:
void mostrar(void);
};

void ejercicio::mostrar()
{
for(a=1;a<=78;a++)
{
for(b=1;b<=50;b++) { textcolor(15); gotoxy(a,b); cprintf("%d",tablero[a*b]); }
}
getch();
}

void main(void)
{
ejercicio hacer;
clrscr();

hacer.mostrar();

tablero[1*1]=1; tablero[1*50]=1; tablero[78*1]=1; tablero[78*50]=1;
hacer.mostrar();

for(x=2;x<=77;x++) { tablero[x*1]=1; tablero[x*50]=1; }
hacer.mostrar();

for(y=2;y<=49;y++) { tablero[1*y]=1; tablero[78*y]=1; }
hacer.mostrar();
}

He puesto la función mostrar simplemente para que se pueda obsevar como queda el plano en cada paso; si me pueden ayudar gracias.

XXX
29 de Enero del 2004
para que despliegue la matriz asi como quieres hice el siguiente código: está hecho en C++ Builder 6 para consola

#include <iostream.h>
#include <conio.h>

class ejercicio {
public:
ejercicio();
void mostrar(void);
void llenar(void);

private:
int tablero[5][10];
};

ejercicio::ejercicio() {

for (int fila = 0; fila <= 4; fila++)
for (int columna = 0; columna <= 9; columna++)
tablero[fila][columna] = 0;
}

void ejercicio::llenar(void) {

for (int fila = 0; fila <= 4; fila++)
for(int columna = 0; columna <= 9; columna++) {
if (fila == 0 || fila == 4)
tablero[fila][columna] = 1;
else {
tablero[fila][0] = 1;
tablero[fila][9] = 1;
}
}
}

void ejercicio::mostrar() {

int x = 1, y = 1;

for(int fila = 0; fila <= 4; fila++) {
for(int columna = 0; columna <= 9; columna++) {
gotoxy(x, y);
cout << tablero[fila][columna];
x++;
}
x = 1;
y += 1;
}
}

//---------------------------------------------------------------------------

int main()
{
ejercicio hacer;

clrscr();

hacer.llenar();
hacer.mostrar();

getch();

return 0;
}