Un par de detalles.
<string.h> ->
<cstring>Luego, en show tienes:
for(int i=0;i<6;i++){
char *pointer;
if(i==0){
}else
Puedes quitar el for y los ifs y ponerlo todo secuencial
Y con respecto al problema original, trata de buscar tú mismo la línea que da el error. Si al encontrarla no lo logras solucionar, entonces pon por aquí la línea exacta.
Para encontrar la línea en la que el programa da error, puedes, por ejemplo, escribir un par de cout y endl/flush. Si ves que un cout se ejecuta y el siguiente no se ejecuta, es que la línea del medio es la que falla. En fin, es una idea, peroun código como este es difícil de depurar a ojo.
Y por cierto, ya que usas C++, podrías utilizar "string" en vez de "char[]", salvo que
quieras hacerlo con char[], claro.