0er wegbekommen |
10.01.2015, 00:18 | Auf diesen Beitrag antworten » | |||||
SarahK. | 0er wegbekommen Meine Frage: Hey zusammen, ich habe folgendes Programm geschrieben:
Meine Ideen: Jetzt stören mich aber die 0er, es sollen nur die 1er in der Ausgabe stehen bleiben. Hab's jetzt schon mit einer if - Anweisung versucht, nur müsste ich die 0er mit einem String " " ersetzen und das geht (zumindest mit meinen bisherigen Möglichkeiten) noch nicht. Ich hoffe, Ihr könnt mir weiterhelfen. Vielen Dank |
|||||
|
||||||
10.01.2015, 01:07 | Auf diesen Beitrag antworten » | |||||
SarahK. | Bitte die Kommentare nicht beachten, diese habe ich noch nicht passend abgeändert. |
|||||
10.01.2015, 07:04 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Da stört noch mehr: die 1er stehen zu weit auseinander. Ich weiß nicht, in wie weit dir das Vorgehen vorgeschrieben ist. Aber eine quadratische Matrix wäre einfacher. Wie auch immer, so kriegst du jedenfalls die 0en an den Enden weg:
|
|||||
10.01.2015, 09:09 | Auf diesen Beitrag antworten » | |||||
SarahK. | Das mit den Einsern ist Absicht, soll am Ende das Pascalsche Dreieck werden. Eine Frage noch:
Was genau bedeutet das pascal[0].length? Ich habe das im Internet mal recherchiert, da steht, dass es bei zweidimensionalen Arrays gebraucht wird? Vielen Dank |
|||||
Anzeige | ||||||
|
||||||
10.01.2015, 09:35 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Mir ist schon klar, was du vorhast. Trotzdem würde ich die Werte anders speichern (hätte auch den Vorteil, dass du auf einzelne Zahlen im Dreieck - die ja gleich den Binomialkoeffizienten sind - einfach zugreifen kannst, ohne Indexumrechnungen) siehe hier Du hast das Dreieck mit int pascal [][] = new int [hoehe][breite]; erzeugt. pascal.length liefert die Länge der ersten Dimension, also hoehe. Mit pascal[0].length holst du dir die erste Zeile und fragst deren Länge ab, erhältst also breite. |
|||||
10.01.2015, 09:49 | Auf diesen Beitrag antworten » | |||||
SarahK. | Dankeschön für die Erklärung :-) |
|||||
10.01.2015, 11:37 | Auf diesen Beitrag antworten » | |||||
SarahK. | Jetzt muss ich das Thema leider noch einmal aufgreifen, da ich die Berechnung nicht hinbekomme: Einmal logisch überlegt, läuft die Berechnung folgendermaßen ab: Das Ergebnis aus pascal [1][4] + pascal [1][6] muss in pascal [2][5] geschrieben werden. Das Ergebnis aus pascal [2][3] + pascal [2][5] muss in pascal [3][4] geschrieben werden. Das Ergebnis aus pascal [2][5] + pascal [2][7] muss in pascal [3][6] geschrieben werden. So, jetzt dachte ich mir, man könnte doch mit 2 for - Schleife das Problem lösen? for (int x=0;n<pascal.length;n++) { for (int y=0; y<pascal[0].length;y++) { int ergebnis = pascal [x][y] + pascal [x][y+2]; } Allerdings wird mir das y+2 wieder Schwierigkeiten machen? Danke für deine Hilfe |
|||||
10.01.2015, 12:30 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Ja, das wird etwas aufwändiger, wenn das gewählte Modell zur Speicherung nicht optimal ist.
|
|||||
10.01.2015, 12:41 | Auf diesen Beitrag antworten » | |||||
SarahK. |
Kann das sein, dass noch etwas gelöscht werden muss? Bekomme immer noch die gleiche Ausgabe wie vorher? |
|||||
10.01.2015, 13:01 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Die Zeilen 40-46 solltest du zwischen 24 und 25 einfügen. Sonst gibst du ja erst das Ergebnis aus, um es danach zu berechnen.
|
|||||
10.01.2015, 14:44 | Auf diesen Beitrag antworten » | |||||
SarahK. | Dankeschön :-) |
|