Feldeinträge/Feldinhalt eines Arrays

ndwho

Mitglied
Hallo Leute,

hoffentlich bin ich hier richtig. Folgende Aufgabe konnte ich nicht lösen, da ich hier das Prinzip noch nicht verstanden konnte. Ich hoffe hier kann mir jemand helfen das Prinzip bzw. den Weg zu erklären wie man zu der Lösung kommt.

Geben Sie die Werte der Feldeinträge von a an, um durch den gegebenen Code den unten angegebenen Feldinhalt zu erzeugen.
Code:
int[][] a = {{ /*Wert*/,  /*Wert*/}, { /*Wert*/}, {/*Wert*/,  /*Wert*/}};
int[] b = a[0];
b[0] += a[2][0];
a[2][0] = b[0] - a[2][0];
b[0] -= a[2][0];
int[] c = a[0];
c[0] += a[2][1];
a[2][1] = c[0] - a[2][1];
c[0] -= a[2][1];
int[] d = {a[0][1], 7};
d[0] = a[2][0];

Lösung:
PHP:
int[][] a = {{5, 9}, {3}, {8, 6}}   // a = {{5, 9}, {3}, {8, 6}}
int[] b = a[0];                     // b = {5, 9}    a = {{5, 9}, {3}, {8, 6}}
b[0] += a[2][0];                    // b[0] = 13     a = {{13, 9}, {3}, {8, 6}}
a[2][0] = b[0] - a[2][0];           // a[2][0] = 5   a = {{13, 9}, {3}, {5, 6}}
b[0] -= a[2][0];                    // b[0] = 8       a = {{8, 9}, {3}, {5, 6}}
int[] c = a[0];                     // c = {8, 9}     a = {{8, 9}, {3}, {5, 6}}
c[0] += a[2][1];                    // c[0] = 14      a = {{14, 9}, {3}, {5, 6}}
a[2][1] = c[0] - a[2][1];           // a[2][1] = 8    a = {{14, 9}, {3}, {5, 8}}
c[0] -= a[2][1];                    // c[0] = 6      a = {{6, 9}, {3}, {5, 8}}
int[] d = {a[0][1], 7};             // d = {9, 7}    a = {{6, 9}, {3}, {5, 8}}
d[0] = a[2][0];                     // d[0] = 5      a = {{6, 9}, {3}, {5, 8}}
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Die Lösung scheint zu stimmen. Da ich die Aufgabenstellung aber nicht ganz verstehe bin ich mir auch nicht so sicher was du genau von uns brauchst ;)
 

ndwho

Mitglied
Naja dann sind wir schonmal zwei. Das ist die Aufgabestellung unseres Profs. und die Lösung bekommen wir am Ende eines Testats.. mehr zur Aufgabestellung gibt es nicht. Falls jemand eine Idee hat wie diese Zeile:

int[][] a = {{ /*Wert*/, /*Wert*/}, { /*Wert*/}, {/*Wert*/, /*Wert*/}};

gefüllt werden soll (siehe auch Lösung) bzw. wie man zu den Werten in den Lösung kommt und mir das erklären kann, dann bitte melden :)
 

Joose

Top Contributor
Was genau hast du vom Prof bekommen?

Für mich wäre das die Aufgabenstellung:

Geben Sie die Werte der Feldeinträge von a an, um durch den gegebenen Code den unten angegebenen Feldinhalt zu erzeugen.
Code:
int[][] a = {{ /*Wert*/,  /*Wert*/}, { /*Wert*/}, {/*Wert*/,  /*Wert*/}};
int[] b = a[0];
b[0] += a[2][0];
a[2][0] = b[0] - a[2][0];
b[0] -= a[2][0];
int[] c = a[0];
c[0] += a[2][1];
a[2][1] = c[0] - a[2][1];
c[0] -= a[2][1];
int[] d = {a[0][1], 7};
d[0] = a[2][0];

Hier würde aber noch "der unten angegeben Feldinhalt" fehlen.

-----------------------

Um was genau handelt es sich bei folgenden Code? Für mich schaut das schon nach der Lösung zu der Aufgabe auf.
Und wenn es die Lösung ist sollt dir doch klar sein was in die entsprechende Platzhalter /*Wert*/ eingesetzt werden sollte.

Lösung:
Code:
int[][] a = {{5, 9}, {3}, {8, 6}}   // a = {{5, 9}, {3}, {8, 6}}
int[] b = a[0];                     // b = {5, 9}    a = {{5, 9}, {3}, {8, 6}}
b[0] += a[2][0];                    // b[0] = 13     a = {{13, 9}, {3}, {8, 6}}
a[2][0] = b[0] - a[2][0];           // a[2][0] = 5   a = {{13, 9}, {3}, {5, 6}}
b[0] -= a[2][0];                    // b[0] = 8       a = {{8, 9}, {3}, {5, 6}}
int[] c = a[0];                     // c = {8, 9}     a = {{8, 9}, {3}, {5, 6}}
c[0] += a[2][1];                    // c[0] = 14      a = {{14, 9}, {3}, {5, 6}}
a[2][1] = c[0] - a[2][1];           // a[2][1] = 8    a = {{14, 9}, {3}, {5, 8}}
c[0] -= a[2][1];                    // c[0] = 6      a = {{6, 9}, {3}, {5, 8}}
int[] d = {a[0][1], 7};             // d = {9, 7}    a = {{6, 9}, {3}, {5, 8}}
d[0] = a[2][0];                     // d[0] = 5      a = {{6, 9}, {3}, {5, 8}}
 

ndwho

Mitglied
Was genau hast du vom Prof bekommen?

Das habe ich zu Anfang bekommen. Die Lösung erst DANACH, also die Lösung gehört NICHT zur Aufgabe.
Code:
Geben Sie die Werte der Feldeinträge von a an, um durch den gegebenen Code den unten angegebenen Feldinhalt zu erzeugen.
Code (Text):

int[][] a = {{ /*Wert*/,  /*Wert*/}, { /*Wert*/}, {/*Wert*/,  /*Wert*/}};
int[] b = a[0];
b[0] += a[2][0];
a[2][0] = b[0] - a[2][0];
b[0] -= a[2][0];
int[] c = a[0];
c[0] += a[2][1];
a[2][1] = c[0] - a[2][1];
c[0] -= a[2][1];
int[] d = {a[0][1], 7};
d[0] = a[2][0];


Was in die Platzhalter eingesetzt wird sieht man ja in der Lösung. Ich weiß nur nicht wie man auf die Werte {{5, 9}, {3}, {8, 6}} kommt.

Man soll meines erachtens an den anderen Zeilen:

Code:
int[] b = a[0];
b[0] += a[2][0];
a[2][0] = b[0] - a[2][0];
b[0] -= a[2][0];
int[] c = a[0];
c[0] += a[2][1];
a[2][1] = c[0] - a[2][1];
c[0] -= a[2][1];
int[] d = {a[0][1], 7};
d[0] = a[2][0];

erkennen wie die Werte in der ersten Zeile
Code:
int[][] a = {{5, 9}, {3}, {8, 6}}
entstehen.
 
Zuletzt bearbeitet:

Joose

Top Contributor
Was in die Platzhalter eingesetzt wird sieht man ja in der Lösung. Ich weiß nur nicht wie man auf die Werte {{5, 9}, {3}, {8, 6}} kommt.

Deswegen oben ja meine Frage. Was hast du vom Prof bekommen? Nur die Aufgabenstellung oder auch diese Lösung?
In der Aufgabenstellung steht etwas von "den unten angegebenen Feldinhalt zu erzeugen" was ist mit diesem unten angegebenen Feldinhalt gemeint? Die Lösung oder etwas anderes oder nur ein Teil der Lösung (letzte Zeile)?
 

Joose

Top Contributor
Nein ich wüsste keinen Weg wie man nur anhand des Codes auf die Anfangswerte kommen sollte. Man könnte zwar kontrollieren von welchem Array und Index stammt der Wert, wo wurde der Wert gesetzt.
Aber es fehlt irgendwo eine Konstante von welcher man aus die Berechnungen starten könnte
 

ndwho

Mitglied
Nein ich wüsste keinen Weg wie man nur anhand des Codes auf die Anfangswerte kommen sollte. Man könnte zwar kontrollieren von welchem Array und Index stammt der Wert, wo wurde der Wert gesetzt.
Aber es fehlt irgendwo eine Konstante von welcher man aus die Berechnungen starten könnte

Naja dann traut der Prof uns wohl zuviel zu?! Kann doch nicht sein :D Aber du scheinst auch kein Laie zu sein. Wenn du es schon nicht verstehst... schade
 

Saheeda

Top Contributor
Könnte man nicht ein Gleichungssystem aufstellen? Jeder Wert im Array bekommt ne Variable und mithilfe der Codezeilen stellt man lineare Gleichungen auf (nur ne Idee, keine Ahnung, ob das klappt).
 

Joose

Top Contributor
Die Idee wäre mir auch gekommen. Aber einerseits muss man die Reihenfolge beachten und außerdem weiß ich dann nur woher die Werte kommen. Aber ich kann immer noch nicht sagen welche Werte man eintragen sollt.
Es fehlen eben irgendwo irgendwelche Konstanten
 

JStein52

Top Contributor
den unten angegebenen Feldinhalt zu erzeugen.
Irgendwo fehlt was !!! nämlich der ominöse unten angegebene Feldinhalt. Ich vermute mal es gab irgendwo eine Angabe wie z.B. das Array b,c und d am Ende des ganzen Kladderadatsches aussehen soll. Ansonsten könnte man ja alle möglichen Werte für diese Platzhalter einsetzen. Das funktioniert immer. Du kannst genausogut das hier schreiben:

Code:
        int[][] a = {{3, 4}, {5}, {6, 7}};
        int[] b = a[0];
        b[0] += a[2][0];
        a[2][0] = b[0] - a[2][0];
        b[0] -= a[2][0];
        int[] c = a[0];
        c[0] += a[2][1];
        a[2][1] = c[0] - a[2][1];
        c[0] -= a[2][1];
        int[] d = {a[0][1], 7};
        d[0] = a[2][0];

warum auch nicht. Du solltest nochmal in dich gehen ob du nicht irgendwo einen Zettel verloren hast. Oder mal auf der Rückseite des Zettels gucken ;););)
 

ndwho

Mitglied
Findet bei uns Online statt, Zettel leider nicht vorhanden :)
Ach ich seh grade, steht noch ein Ergebnis! Mein Fehler tut mir leid :D

Gut, jedoch bräuchte ich hier dann ebenfalls eine Erklärung wie man auf die Werte in der ersten Zeile kommt
 

Anhänge

  • Unbenannt123.PNG
    Unbenannt123.PNG
    58,6 KB · Aufrufe: 39

JStein52

Top Contributor
Na da stehts doch:

Die Zeile "Ergebnis: usw" damit kriegst du doch gesagt was am Ende in a drinstehen soll !!!!!
Und jetzt rechnest du rückwärts.
 

Neue Themen


Oben