java aufgabe. brauche hilfe

MasterOfDisaster 407

Software-Overclocker(in)
Hey Leute ich bin totaler Neuling in sachen Programmierung und ich versuche gerade eine aufgabe zu lösen und bekomm es nich hin.

die aufgabe lautet:
Schreiben Sie einen Algorithmus Invers(int[ ] a) in Pseudocode, der die Reihenfolge der Werte im Array a umdreht. Z.B. soll für den Fall, dass a[0]=4, a[1]=7 und a[2]=9 ist, a[0]=9, a[1]=7 und a[2]=4 herauskommen. Der Algorithmus soll mit einer einzigen zusätzlich definierten ganzzahligen Variablen merker auskommen.
b)
Implementieren Sie den gefundenen Algorithmus als Java-Funktion static void invers(int a). Diese Funktion soll zunächst das Original-Array und dann das inverse Array auf dem Bildschirm ausgeben (System.out.println).
c)
Schreiben Sie ein Testprogramm, dessen Hauptprogramm ein Array deklariert und initialisiert und dann die Methode invers aufruft.

Könnt ihr mir helfen bzw. einen anstoss geben zur lösung der aufgabe?:daumen:
 
In deinem Algorithmus gehst du einfach per schleife rückwärts durch Array A und schreibst in der Anweisung die Werte auf Array B, welches vorher mit derselben Größe wie A deklariert wurde. Dabei brauchst nichtmal n "merker" ;)

Dann A und B ausgeben und die Aufgabe ist gelöst^^
 
also ich hab jetzt 2 Arrays, in dem einen(Array A) sind die zahlen die den zahlen aus Array B zugeordnet werden sollen.
Beide arrays wurden mit gleicher grösse deklariert.

wie schreib ich denn eine schleife rückwärts?
wie genau schreib ich die anweisung, dass A B zugeordnet wird bzw. diese Zuordnung sich umdreht?
 
Nur mal nen Denkanstoss, ich kann auch nur C++, aber vielleicht soll in Merker die größe des Arrays, denn dsa ganze muss ja dynamisch sein, also nicht nur mit einer Array Grösse funktionieren.
 
Für die Größe von Array B kann man einfach die Größe von Array A auslesen, dann ist es automatisch dynamisch.

Code:
[B]
int[/B][COLOR=#4444FF][B][[/B][COLOR=#4444FF][B]][/B] [COLOR=#2040A0]A [COLOR=#4444FF]= [COLOR=#4444FF][B]{[/B] [COLOR=#FF0000]4, 7 ,9 [COLOR=#4444FF][B]}[/B][COLOR=#4444FF];[COLOR=#2040A0]int[] B = new int[A.[COLOR=#2040a0]length][COLOR=#2040a0];
for (i = 0; i < A.length; i++) {
B[B.length - 1 - i] = A[i]
}
Soweit mein halber Pseudocode/Javacode, bin grad zu faul, Eclipse anzuschmeissen ums zu überprüfen (und meine Syntax checken zu lassen) :D.
Und einen Marker brauchst du da nicht, du kannst maximal einen benutzen laut Aufgabenstellung, aber das brauchst du nicht.
 
wie schreib ich denn eine schleife rückwärts?
wie genau schreib ich die anweisung, dass A B zugeordnet wird bzw. diese Zuordnung sich umdreht?


Mit "rückwärts" meinte ich, dass du die Zählvariable (i) mit der Länge des Arrays initialisierst und anschliessend halt dekrementierst (i--). Dann kannst du nämlich in der Anweisung einfach ArrayB=ArrayA[ArrayA.lenghth-i] setzen und hast dein Ergebnis.
 
ArrayB=ArrayA[ArrayA.lenghth-i]
Schreib mir mal bitte als PN deinen Beispielcode, würde mich interessieren wie du das gelöst hast, bin seit meiner Klausur nicht mehr so fit in Java (2,0 Note und 44,5 Durchfallquote, ich kann die Füße hochlegen und brauchs wohl wieder im 5. Semester höchstens :D).
 
Zurück