hjælp til en lille algoritme!

Tags:    java

jeg skal lave et lille program som skal kunne lave følgende:

vi har en fil med nogle tal
10
5
2
6
8
1
9

hvor vi så skal sortere tallene i en boks.
størelsen af boxen er 10 (det første tal).

derefter skal vi tage tallene og indsætte dem i boxen en efter en og når der ikke kan være flere tager vi en ny box og indsætter dem der og alle box har størrelse 10.
5 2
6
8 1
9

nogen der har en forslag til denne her algoritme




5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Skal algoritmen optimere resultatet så der bliver brugt mindst muligt antal bokse?

Ellers er her en simpel stump kode der gør arbejdet.
Arrayet med tallene skal du så på en eller have initialiseret med værdierne i filen.

int[] tal = {10, 5, 2, 6, 8, 1, 9};
int boxSize = tal[0];
int count = 0;

for(int i = 1; i < tal.length; i++) {
if( count + tal > boxSize ) {
System.out.println();
count = 0;
}
count += tal;
System.out.print("" + tal + " ");
}




til "Skal algoritmen optimere resultatet så der bliver brugt mindst muligt antal bokse?" er svaret nej! Men jeg har lige sidet og leget med det og jeg kan ikke helt for det til at køre. jeg har fået jave til at indlæse tallene fra filen men jeg kan ikke helt for det du skrev til at virke.

jeg har også prøvet at skrive det som du skrev men den brokker sig over (2 linier).
if( count + tal > boxSize )
og
count += tal;



hmm mærkerligt, jeg testede det inden jeg postede det og det fungerede fint. Hvad står der i fejlbeskeden?



public class program {
public void box(){

int[] tal = {10, 5, 2, 6, 8, 1, 9};
int boxSize = tal[0];
int count = 0;

for(int i = 1; i < tal.length; i++) {
if( count + tal > boxSize ) {
System.out.println();
count = 0;
}
count += tal;
System.out.print("" + tal + " ");
}


}

}

Der står the operator + is undefined for the argument type(s) int , int[].
Jeg bruger eclipse til det og der kommer en rød x og når man flytter musen på den så står det der!



Jeg har spottet fejlen, prøv med det her:

Fold kodeboks ind/udKode 




t