Guten Abend ihr Lieben,
ich schreibe bald eine Klausur und habe noch ein einziges Problem bei dem ich einfach nicht weiter weiß... Vielleicht kann mir einer von euch helfen?! Es geht um das Rucksackproblem, allerdings mit Wert, Volumen & Gewicht. Ich soll die Aufgabe im Pseudocode schreiben, habe es allerdings erst mal zu kompilieren versucht... folgender Code ist meiner:
Code
public static int[][] algo(int[] volumen, int[] gewicht, int [] wert,int volKapa, int gewKapa){
int[][] c = new int[wert.length+1 ][gewKapa+1];
for(int i=0;i<gewKapa;i++){
c[i][0]=0;
}
for(int i=1;i<=wert.length;i++){
for(int j=1;j<=gewKapa;j++){
if(j<gewicht[i] || j< volumen[i] {
c[i][j] =c[i-1][j];
}
else{
c[i][j] =Math.max(c[i-1][j], wert[i-1]+c[i-1][j-gewicht[i-1]]);
}
}
}
return c;
}
Alles anzeigen
Allerdings funktioniert es einfach nicht für alle Eingaben und ich sitze schon einige Zeit daran, weiß nicht mehr weiter hab den Code schon gefühlte tausende Male geändert. Weiß jemand vielleicht meinen Fehler oder kennt einen guten Pseudocode? Ich wäre zu ewigem Dank verpflichtet!!
Liebe Grüße,
blume257