Hallo zusammen,
Ich sollte jeweils immer zwei benachbarte Indexe in einem Array miteinander addieren, sodass am Schluss nur noch ein Wert übrig bleibt.
Beispiel:
Array {1,6,4,3,2}
Schritt 1: {1+6, 6+4, 4+3, 3+2}
Schritt 2: {7 +10, 10+7, 7+5}
etc.
bis nur noch ein Wert übrig bleibt
Auf der Console sollte das folgendes Ergebnis angezeigt werden.
63
34 29
17 17 12
7 10 7 5
Dabei soll das Schlussergebnis zuerst ausgegeben werden.
Ich habe schon mehrere Ansätze versucht, aber bisher hat noch keiner so richtig geklappt.
Dies ist mein bisher "erfolgreichster" Ansatz:
Dabei wird mir folgendes auf der Console ausgegeben:
0 0 0 5
0 0 7 0
0 10 0 0
7 0 0 0
1 6 4 3 2
Somit hätte ich einen Schritt fast erreicht also die Ausgabe der 7,10,7,5 jedoch nicht ganz und ich weiss langsam nicht mehr weiter...
Mir ist bewusst, dass das return l überhaupt keinen sinn ergibt, es steht nur dort weil ich nicht weiss, was ich sonst dort hinschreiben soll....
Ich hatte auch schon die Idee in dem else Part ein newArray zu deklarieren und es dann mit den Werten von array zu füllen ( newArray[0] = array[0] + array[1])
Kann mir hier irgendwer weiterhelfen?
Ich sollte jeweils immer zwei benachbarte Indexe in einem Array miteinander addieren, sodass am Schluss nur noch ein Wert übrig bleibt.
Beispiel:
Array {1,6,4,3,2}
Schritt 1: {1+6, 6+4, 4+3, 3+2}
Schritt 2: {7 +10, 10+7, 7+5}
etc.
bis nur noch ein Wert übrig bleibt
Auf der Console sollte das folgendes Ergebnis angezeigt werden.
63
34 29
17 17 12
7 10 7 5
Dabei soll das Schlussergebnis zuerst ausgegeben werden.
Ich habe schon mehrere Ansätze versucht, aber bisher hat noch keiner so richtig geklappt.
Dies ist mein bisher "erfolgreichster" Ansatz:
Java:
public static void main(String[] args)
{
int array [] = {1,6,4,3,2};
int c = 0;
int l = array.length-1;
arrayAddition(array,c,l);
printArray(array);
}
public static void printArray(int[] array)
{
for ( int Wert = 0; Wert< array.length; Wert++ )
{
System.out.print( array[Wert] + " ");
}
}
public static int arrayAddition (int[] array, int c, int l)
{
if (c==array.length -1)
{
return array [c];
}
else
{
int [] newArray = new int [l];
newArray[c] = array [c]+ array[c+1];
arrayAddition(array,c+1, l);
printArray(newArray);
System.out.println();
}
return l;
}
Dabei wird mir folgendes auf der Console ausgegeben:
0 0 0 5
0 0 7 0
0 10 0 0
7 0 0 0
1 6 4 3 2
Somit hätte ich einen Schritt fast erreicht also die Ausgabe der 7,10,7,5 jedoch nicht ganz und ich weiss langsam nicht mehr weiter...
Mir ist bewusst, dass das return l überhaupt keinen sinn ergibt, es steht nur dort weil ich nicht weiss, was ich sonst dort hinschreiben soll....
Ich hatte auch schon die Idee in dem else Part ein newArray zu deklarieren und es dann mit den Werten von array zu füllen ( newArray[0] = array[0] + array[1])
Kann mir hier irgendwer weiterhelfen?