Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2012, 09:29
Mathip
 
Fecha de Ingreso: octubre-2009
Mensajes: 83
Antigüedad: 14 años, 6 meses
Puntos: 1
Exclamación error en tiempo de ejecucion-help

Hola tengo un problema estoy haciendo para un proyecto de estudio la famosa "batalla naval" en c++, es mas bien para aprender bien el trabajo con matrices pero me exijen sierta complejidad.

Bueno vamos al punto: para que tengan una referencia el caracter '0' es que hay agua en esa pocicion y el '1' significa que un barco esta situado en esa pocicion.

bien cada barco esta cargado tiene una pocicion en una matriz por separado y luego se cargan todos a una sola matriz.

este es el codigo que uso para cargar un barco a esa matriz principal:

Código:
	
for (int i=0;i<=9;i++)
{
	for(int j=0;j<=9;j++)
	{
		if(juego.mapaj1[i][j]=='0')
		{
  		 juego.mapaj1[i][j] = j1barco2.pos[i][j];
		}

	}
}

//probando muestro mapa
cout << endl;
for(int i=0;i< 10;i++)
{
	for(int j = 0; j< 10;j++)
	{
	std::cout << juego.mapaj1[i][j];
	}
	std::cout << std::endl;
}
les explico juego es una instancia de una clase mapa.
en esa clase hay dos variables publicas (entre otros metodos que no vienen al caso)

char mapaj1[9][9];
char mapaj2[9][9];
y j1barco2 es otra instancia de clase barcos con algo similar.
char pos[9][9];
char posj2[9][9];

el compilador en si no me arroja errores en tiempo de compilacion pero si en tiempo de ejecucion, es raro porque funciona bien carga los '1' como yo quiero que lo haga y lo muestra pero luego me arroja el siguiente error:

Run-Time Check Failure #2 - Stack around the variable 'juego' was corrupted.

LES RUEGO SI ME PUEDEN AYUDAR ESTE PROYECTO ME TIENE QUE DAR BUENA CALIFICACION. Desde ya muchas gracias.