<div dir="ltr">Hola Joaquín,<div class="gmail_extra"><br></div><div class="gmail_extra">Cada "pez" es un array de arrays de 'char' que conceptualmente es una lista de cadenas de caracteres. Por lo tanto, el carácter nulo debe ir al final de cada cadena de caracteres, y no al final de la lista de cadenas. Esto es,</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra"><div class="gmail_extra">f0 = new char*[6];</div><div class="gmail_extra"><br></div><div class="gmail_extra">for( int i=0; i<6; i++ )</div><div class="gmail_extra">  f0[i] = new char[3];  // 2 + el carácter nulo<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Y luego tenemos que asignar tal carácter nulo:<br><br>f0[0][0]=92;   f0[0][1]=47;   f0[0][2]=0;<br><div class="gmail_extra">f0[1][0]=95;   f0[1][1]=45;   f0[1][2]=0;</div><div class="gmail_extra">f0[2][0]=124; f0[2][1]=46;   f0[2][2]=0;</div></div><div class="gmail_extra">...</div><div class="gmail_extra"><br></div><div class="gmail_extra">El otro problema es que asignas caracteres nulos al comienzo en algunas cadenas; por ejemplo, escribes,</div><div class="gmail_extra"><br></div><div class="gmail_extra">f0[4][0]=0;   f0[4][1]=39;<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Esto no tiene sentido porque marcas el final de la cadena en el primer carácter y por tanto, los posteriores caracteres no son usados, que en este caso es el código ASCII, 39. Sospecho que quieres dejar un espacio, por lo que haz eso mismo; por ejemplo,</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">f0[4][0]=' ';   f0[4][1]=39;   f0[4][2]=0;</div><div><br></div><div>Además, no veo ninguna razón por usar los códigos ASCII explícitamente, ya que el código no es muy legible de esta manera. Es más fácil usar los caracteres; por ejemplo,</div><div><br></div><div><div>f0[0][0]='\\';   f0[0][1]='/';   f0[0][2]=0;</div><div>f0[1][0]='_';   f0[1][1]='-';   f0[1][2]=0;</div><div>f0[2][0]='|';    f0[2][1]='.';   f0[2][2]=0;</div><div>...</div></div></div><div class="gmail_extra"><br></div><div class="gmail_extra">Claro que si sabes exactamente los caracteres que quieres guardar, creo que es más sencillo usar un array regular; por ejemplo,</div><div class="gmail_extra"><br></div><div class="gmail_extra">char f0[6][3] = { "\\/", "_-", "|.", ... };</div><div class="gmail_extra"><br></div><div class="gmail_extra">Así no tienes que andar con memoria dinámica ni asignando caracteres uno a uno.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">En cuanto al tema de 'delete[]', debes emparejar cada uso de 'new[]' con un 'delete[]'; es decir, cada petición de memoria debe corresponder con cada liberación de memoria. Para 'f0', pides siete bloques diferentes de memoria; o sea, usas 'new[]' siete veces. A la hora de liberar la memoria debes liberar cada bloque que pediste, y por tanto, debes usar 'delete[]' siete veces. Esto es,</div><div class="gmail_extra"><br></div><div class="gmail_extra">Pez_Chico::~Pez_Chico()</div><div class="gmail_extra">{<br></div><div class="gmail_extra"><div class="gmail_extra">  for( int i=0; i<6; i++ )  // Liberamos cada array en 'f0[i]'</div><div class="gmail_extra">    delete[] f0[i];</div><div class="gmail_extra">  delete[] f0;                // Liberamos el array de punteros, 'f0'</div><div class="gmail_extra"><br></div><div class="gmail_extra">  // Lo mismo para 'f1'</div><div class="gmail_extra">  ...</div><div class="gmail_extra">}</div></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Si quieres listar error por error, puedo contestar cada uno directamente; y si no quieres, no pasa nada, ya listaré cada tema por separado.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Espero que vaya aclarando las dudas.</div><div class="gmail_extra"><br></div></div></div><div class="gmail_extra">Steven</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-08-11 21:50 GMT-04:00 Joaquin Copello <span dir="ltr"><<a href="mailto:joaquin.lpda20@hotmail.com" target="_blank">joaquin.lpda20@hotmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div dir="ltr">Primero que nada gracias Steven. Ahora te vuelvo a adjuntar el codigo con las modificaciones y te paso a comentar el tema de valx se me paso ya corregido mejoro el movimiento perfecto. Con el tema de imprimir y los puts si no entendi mal lo que me queres decir es que a la hora de contruir los dos arrays los defino como char*[6] por ejemplo en el pez chico y le paso valores del 0 al 5, eso es lo que yo entendi por lo tanto lo defini como char*[7] para deja el ultimo espacio libre para el /0, si esto es incorrecto espero tu correcion. Por ultimo con el tema del delete[] no entendi mucho el bucle si lo utilice de la manera que vos me indicas pero no entendi mucho el tema. Por ahora lo que se imprime en pantalla no es lo correcto que deberian ser dos peces, espero tu respuesta. Y ya que estoy te pregunto porque me acabo de dar cuenta si queres que cualquier proximo mensaje te lo envie como enumerado paso por paso o error por eror de la forma que lo hiciste vos para que te resulte mas comodo solo mecionalo. Muchas gracias y saludos<br><br></div></div></blockquote></div></div></div>