# Dringend Hilfe benötigt bei mehrdimensionalen Feldern!



## haggeldaggel (18. Sep 2011)

Hallo wir benötigen Hilfe bei folgenden Schulaufgaben:
1) Geben Sie die Werte auf den beiden Diagonalen eines beliebigen quadratischen Feldes mit ganzen Zahlen aus.
2) Die Summe/ Differenz zweier gleichgroßer Matrizen ist als Summe/ Differenz der Elemente an gleicher Position definiert.
   a) Schreiben Sie ein Programm, das es erlaubt, zwei Zahlentabellen (Matrizen) mit m Zeilen und n Spalten einzulesen und diese auf dem Bildschirm dann darzustellen.

   b) Erweitern Sie das Programm, das ausgehend von zwei beliebigen quadratischen int-Feldern ein drittes erstellt, welches die Summe/ Differenz der ersten beiden enthält.

Wäre nett wenn es ein kompletter Quelltext für Java ist... und vllt nicht allzu kompliziert. wir sind verzweifelte anfänger!


----------



## Cola_Colin (18. Sep 2011)

Was zahlst du mir den dafür ?

Ansonsten zeig erstmal, was du bisher selber versucht hast.


----------



## XHelp (18. Sep 2011)

Und bist du sicher, dass es irgendwas mit GUI zu tun hat?


----------



## haggeldaggel (18. Sep 2011)

sowas in der richtung:
x = 5;
y = x;
while(0<=y<=x) {
system.out.println("x = " + y + "y = " + y);
y--;
}

Wir haben uns das mit zwei jtextfeldern vorgestellt in denen man jeweils die größe des feldes und dann den inhalt der einzelnen kästchen ausliest. und dann mit einem button "bestätigen" werden die diagonalkästchen ausgegeben. die andere aufgabe können wir gar nicht.


----------



## Andi_CH (19. Sep 2011)

haggeldaggel hat gesagt.:


> sowas in der richtung:
> x = 5;
> y = x;
> while(0<=y<=x) {
> ...



Das lässt sich so aber nicht kompilieren - und lesen schon gar nicht, wobei lesen ja auch nicht eure Stärke zu sein schein. Es steht doch oben GANZ grossen roten Buchsteben was zu tun ist ....


----------



## nillehammer (19. Sep 2011)

Ein Quadratisches Feld ist ein Feld mit gleich vielen Zeilen und Spalten. Ohne das zu sehr in Klassen aufzuteilen, bietet sich da ein zweidimensionales Array an. Wenn Eure Werte ints sind also z.B. so:

```
// 10x 10 Felder großes Quadrat anlegen
private int[][] werte=new int[10][10];

// Array mit Werten füllen, müsst ihr noch selbst machen

//Auf den Wert an Stelle 1,1 zugreifen
System.out.println(werte[1][1]);
```



> 1) Geben Sie die Werte auf den beiden Diagonalen eines beliebigen quadratischen Feldes mit ganzen Zahlen aus.


Ein Quadrat hat zwei Diagonalen, eine von oben links nach unten rechts und eine von unten links nach oben rechts. Die erste ist einfacher. Da sind Zeilen- und Spaltennummer immer gleich. Hier reicht eine einfache For-Schleife mit einer Variablen zum Durchlaufen. Bei der anderen malt Euch das Quadrat mal auf und schreibt Euch die Felder auf, die auszugeben wären (10,0; 9,1 ...) Dann etwas schlau rechnen und man kommt auch hier mit einer einfachen For-Schleife hin.



> 2) Die Summe/ Differenz zweier gleichgroßer Matrizen ist als Summe/ Differenz der Elemente an gleicher Position definiert.


Hier muss man über jedes einzelne Feld iterieren. Also Zwei ineinander verschachtelte For-Schleifen.



> a) Schreiben Sie ein Programm, das es erlaubt, zwei Zahlentabellen (Matrizen) mit m Zeilen und n Spalten einzulesen und diese auf dem Bildschirm dann darzustellen.


Was heißt hier einlesen? Kommandozeilenparameter? Datei? Eingaben während der Laufzeit des Programms?

//Edit: Ah ok, im zweiten Post stand es. Es soll ein Swing-Gui sein. Macht erstmal die Berechnungsmethoden, bevor Ihr ein GUI drauf setzt.



> b) Erweitern Sie das Programm, das ausgehend von zwei beliebigen quadratischen int-Feldern ein drittes erstellt, welches die Summe/ Differenz der ersten beiden enthält.


Siehe Antwort zu Frage 2. Am besten man schreibt zwei (statische) Methoden, die als Parameter zwei Matrizen übergeben bekommen und einen zweidimensionalen Array als return-Wert haben.


----------

