Hallo,
wir haben in der Vorlesung die Maximale Teilsumme besprochen und sollten sie nun implementieren.
Bsp.
Die M.T.S aus den Zahlen -13,25,34,12,-3,7,-87,28,-77,11 = 75 (25+34+12-3+7)
Nun hat der Prof. die "Musterlösung" online gestellt und ich verstehe nicht warum mein Code 11 als Ausgabe anstelle von 75 hat, da ich eig. exakt den gleichen code wie er habe.
Mein code:
Code aus der Musterlösung:
Könnt ihr mir sagen, warum mein Code nicht klappt?
Danke
wir haben in der Vorlesung die Maximale Teilsumme besprochen und sollten sie nun implementieren.
Bsp.
Die M.T.S aus den Zahlen -13,25,34,12,-3,7,-87,28,-77,11 = 75 (25+34+12-3+7)
Nun hat der Prof. die "Musterlösung" online gestellt und ich verstehe nicht warum mein Code 11 als Ausgabe anstelle von 75 hat, da ich eig. exakt den gleichen code wie er habe.
Mein code:
Java:
public static void main(String[] args) {
int arr[]={-13,25,34,12,-3,7,-87,28,-77,11};
int erg=maxTeilSumme(arr,arr.length);
System.out.println("Maximale Teilsumme: "+erg);
}
public static int maxTeilSumme(int arr[], int n){
int maximum = -99999999;
int erg;
for(int i=0; i<n; i++){
erg=0;
for(int y=i; y<n; y++)
erg+=arr[y];
if(erg>maximum){
maximum= erg;
}
}
return maximum;
}
Code aus der Musterlösung:
Code:
intMaxTeilsum2(int a[],int n) {
inti, j, sum, max= int.MinValue;
for(i=0; i<n; i++) {
sum=0;
for(j=i; j<n; j++) {
sum+= a[j];
if(sum> max) max= sum;
}
}
return max;
}
Könnt ihr mir sagen, warum mein Code nicht klappt?
Danke
Zuletzt bearbeitet: