Treść zadania jest taka:
Dany jest zbiór 10 liczb.Progam ma wybierac najwiekszy w sensie liczebnosci podzbior tego zbioru ale taki ze suma elementów tego podzbioru nie moze być wieksza od 20.uzyj aogorytmu zachłannego który konstrujać podzbiór zawsze wybiera liczby najmniejsze z jeszcze dostepnych.
public static void main(String[] args) {
int[] tab = {2, 4, 6, 3, 5, 4, 1, 7, 2, 3};
//sortowanie
for (int i = 0; i < tab.length; i++) {
System.out.print(tab[i]+" ");
}
for (int i = 0; i < tab.length; i++) {
int tmp = tab[i];
int j = i;
while (j > 0 && tab[j - 1] > tmp) {
tab[j] = tab[j - 1];
j--;
}
tab[j] = tmp;
}System.out.println();
for (int i = 0; i < tab.length; i++) {
System.out.print(tab[i]+" ");
}
int s = 0;
System.out.println("Najwiekszy podzbiór: ");
for(int i=0;i<tab.length;i++){
s=s+tab[i];
if(s<=20){
System.out.print(tab[i]+", ");
}
}
}