Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Hiriox

Páginas: [1]
1
Tengo el siguiente algoritmo devorador y me salta error del tipo que puse en el titulo y no entiendo por que. A ver si alguien puede echarme una mano :D

Código: [Seleccionar]
public class MochilaOptima
{
static int m;         // capacidad mochila
static String[]nombre;// nombre elemento
static int[]peso;     // peso elemento
static int[]beneficio;// beneficio/kg de cada elemento

public static void main (String arg [] )
{
int m= Integer.parseInt(arg[750]);

int n=8; // número elementos
nombre=new String[n];
nombre[0]="Hierro";nombre[1]="Carbon";nombre[2]="Cobre";
nombre[3]="Zinc";nombre[4]="Plomo";nombre[5]="Niquel";
nombre[6]="Platino";nombre[7]="Aluminio";

beneficio=new int[n];
// SE SUPONE YA ORDENADO DECRECIENTEMENTE POR BENEFICIO
beneficio[0]=90;beneficio[1]=85;beneficio[2]=82;beneficio[3]=80;
beneficio[4]=70;beneficio[5]=68;beneficio[6]=65;beneficio[7]=60;

peso=new int[n];
peso[0]=45;peso[1]=30;peso[2]=25;peso[3]=60;
peso[4]=50;peso[5]=40;peso[6]=80;peso[7]=600;

System.out.println ("CAPACIDAD DE LA MOCHILA= "+m+" Toneladas");
System.out.println ("SE CARGA LO SIGUIENTE:");

int valorMochila= resolverMochila();

System.out.println ();
System.out.println ("BENEFICIO DE LA CARGA= "+valorMochila+" Euros");

System.out.println ();
System.out.println ("CARGA SIEMPRE OPTIMA");
}

static void mostrarElementos()
{
System.out.print("Mineral: ");
for (int i= 0; i<nombre.length; i++)
{
System.out.print(nombre);
}

}

static int resolverMochila ()
/* este método es de complejidad lineal con el número de
elementos que se carguen, que nunca es mayor que n */
{
int n=peso.length;
int valor=0;
int cabe=m;
int indice=0;
while (m>0 && indice<n )
{
if (cabe>=peso[indice] ) //cabe entero
{
System.out.println (nombre[indice]+ "  SE GARGA "+peso[indice]+" Toneladas");
valor=valor+peso[indice]*beneficio[indice];
cabe=cabe-peso[indice];
indice++;
}   
else  // no cabe entero
{
System.out.println (nombre[indice]+ "  SE GARGA "+cabe+" Toneladas");
valor=valor+cabe*beneficio[indice];
cabe=0;
indice++;
}
}
System.out.println("SE HAN CARGADO UN TOTAL DE "+(m-cabe)+" Toneladas");
return valor;
}
}  // FIN


Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".