Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Belegen Sie eine quadratische Matrix solange mit Zufallszahlen von 1 bis 9 (jeweils inklusive), bis die
Summe der Diagonale von links oben nach rechts unten ein ganzzahliges Vielfaches der Summe der
Diagonale von rechts oben nach links unten ausmacht.
Lassen Sie die Größe der Matrix vom User bestimmen, stellen Sie jedoch sicher, dass die Anzahl der
Zeilen/Spalten mindestens 2 und eine gerade Zahl ist.
Erstellen Sie folgende Ausgabe (hier als Beispiel mit Matrixgröße 4):
kann mir jemand weiterhelfen?
dies habe ich :
Code:
public class Matrix {
Scanner eingabe = new Scanner(System.in);
System.out.println("Geben Sie die Größe der Matrix an");
int gr = eingabe.nextInt();
int matrix[][] = new int[gr][gr];
int sum = 0;
boolean check = true;
while (check) {
for (int zeile = 0; zeile < matrix.length; zeile++) {
for (int spalte = 0; spalte < matrix[zeile].length; spalte++) {
matrix[zeile][spalte]=(int)( Math.random() * (9 - 1 + 1) + 1);
if (zeile == spalte) {
sum+=matrix[zeile][spalte];
}
}
}
wie funktioniert das jetzt mit der diagonalen Summe von 20 ?
Wieso 20? Du sollst die Summe der Diagonalen von links oben nach rechts unten (1. Summe) und die Summe der Diagonalen von rechts oben nach links unten (2. Summe) berechnen. Anschließend sollst Du prüfen, ob die 1. Summe durch die 2. Summe teilbar ist.
Hallo,
ich würde mir hier zwei Summen bilden.
Du läufst durch dein zuvor per Zufall gefühltes Array und musst nun überlegen wie du beide Summen füllst.
i = zeile, j = spalte und dein Tupel ist (i,j) dann wird
Die erste Summe mit (0,0), (1,1), ... etc gefüllt werden.
Die zweite Summe (0,4),(1,3),... etc gefüllt werden.
Danach fragst du ab ob beide Summen gleich sind wenn Sie gleich sind gibst du True zurück
Denke so sollte es gehen
Tatsächlich müssen die Summen nicht gleich sein. Es muss nur die Summe der Elemente auf der Hauptdiagonalen durch die Summe der Elemente auf der Gegendiagonalen teilbar sein.
Ansonsten stimmt der Ansatz von Dir, @ocsme, aber.
@Noob26 Du bildest nur die Summe der Hauptdiagonalen (0,0), (1,1), (2,2) usw. Dieses "- 1 + 1" kannst Du auch entfernen, das verwirrt nur.
Ich meinte damit, wir haben eine Hausaufgabenkategorie, nicht nur zum spaß.... sondern da kann und sollte die dir gestellte Aufgabe besser diskutiert werden.