Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/03/2014, 05:56
Avatar de rgf1987
rgf1987
 
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 12 años
Puntos: 22
Respuesta: ¿Cómo hago este algoritmo?

Hola

Ese error se debe a que entras en un bucle infinito y excedes la memoria

Código Java:
Ver original
  1. public static int demasiadoalto(int[] demasiadoalto, int alturacorte, int maderapedida, int liminf){
  2.         int limsup = alturacorte;// linea 26
  3.         alturacorte = alturacorte-(alturacorte-liminf)/2;
  4.         if (maderapedida != maderarecolecta(demasiadoalto,alturacorte)){
  5.             if (maderapedida < maderarecolecta(demasiadoalto,alturacorte))//linea 30
  6.                 alturacorte=demasiadoalto(demasiadoalto,alturacorte,maderapedida,liminf);
  7.             else if (maderapedida > maderarecolecta(demasiadoalto,alturacorte))
  8.                 alturacorte=demasiadobajo(demasiadoalto,alturacorte,maderapedida,limsup);    
  9.         }
  10.        
  11.         return alturacorte;
  12.         };

si te fijas "maderapedida" siempre tiene el mismo valor, por lo tanto llamas una y otra vez al método demasiadoalto