cin >> indice;
if(indice < 0 || indice >= array_len)//si indice es menor que 0 o mayor o igual que el array len
{
cout << "fuera del array" << endl;
}
else
{
if(indice != 0) // indice no sea 0 creo que el error es que no permite buscar en la posicion 0 y si deberia poder, otra cosa es que aya "previo" en este caso
cout << "previo: " << arreglo[indice - 1] << endl;
else
cout << "no hay previo" << endl;
if(indice != array_len - 1) //si indice no es mayor que array_len-1 es otro fallo o puede que no, si es un char no deberías mostrar esta posición ya que la ultima posición len - 1 se recomienda que sea un cero por otro lado no veo ningún problema en mostrar esta posición.
cout << "siguiente: " << arreglo[indice + 1] << endl;
else
cout << "no hay siguiente" << endl;
}
vamos a pensar un poco... se debe dejar mostrar todas las posiciones pero si estas en la posición 0 de una tabla no existe la posicion -1, lo mismo ocurre con la posicion len o TAM como os guste llamarla, si estamos en la ultima posición¿¿Por que no se puede mostrar?? Lo que no se debe mostrar es prev si estas en la posicion 0 ni siguiente si estas en la ultima ya que nos estariamos saliendo de la tabla.
seria un par de if especiales:
if (posicion == tabla[0]){
//ver posición actual
//ver posicion siguiente
}
¡Si! no quieres ver posición actual pues no ponga XDDD
Para el fin seria:
if (posicion == tabla[max_TAM]){
//ver posición anterior
//ver posición actual
}
luego para todas las demas si se debe dejar ver todo.
if ( posicion > tabla[0] && posicion < tabla[ max_TAM] ){
//ver posición anterior
//ver posición actual
//ver posicion siguiente
}
Así es como lo veo la solución puede que me equivoque, si me equivoco pues decir abajo
me he inventado mis nombres de variables jeje asi soy yo, vosotros pongan las vuestras ^^
Suerte compañeros!