Pyramide: Summe der diagonal über ihr stehenden Zahlen!

Dliko

Mitglied
Hi zusammen,
ich bin noch ganz frisch hier im Forum und auch in der Ausbildung zum Anwendungsentwickler.
Ich hab vorher NIE programmiert, doch so langsam kommt man dem ganzen näher und versteht sogar das eine oder andere :)
Auf jeden fall sollte ich gestern eine Pyramide programmieren die ich auch recht gut und "schnell" hinbekommen habe.
Java:
public class Uebung17 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);

		System.out.println("Eingabe>: ");
		int eingabe = Integer.parseInt(in.nextLine());

		for (int i = 1; i <= eingabe; i++) {
			for (int j = 0; j < eingabe - i; j++) {
				System.out.print(" ");
			}

			for (int j = 0; j < i; j++) {
				System.out.print(" ");
				System.out.print(i);
			}
			System.out.print("\n");
		}
	}
}
Eingabe = 7

       1
      2 2
     3 3 3
    4 4 4 4
   5 5 5 5 5
  6 6 6 6 6 6
 7 7 7 7 7 7 7

Nun soll das ganze so ausschaun:

Eingabe = 7
               1
             1   1
           1   2   1
         1   3   3   1
       1   4   6   4   1
     1   5   10  10  5   1
   1   6   15  20  15  6   1

Die 1 am rand sind fest. Die 2 ist die Summe aus den diagonal über ihr stehenden Zahlen 1+1.
Die 3 die Summe aus 2+1. Die 6 aus 3+3 usw.

Ich wollte einfach mal fragen ob mir jemand ein paar tipps geben kann......wie gesagt bin noch ziemlich am Anfang des ganzen, also bitte nicht mit irgendwelchen extremen abkürzungen und weit hergeholten dingen kommen die ich im nächsten halben Jahr erst anschneiden werde.


Würd mich über ein paar nette tipps und ideen freuen, da es bei mir grade ziemlich hängt.
Schonmal Danke
Dliko
 
Zuletzt bearbeitet:
G

Gast2

Gast
denk dir die zahlen einfach in nen 2d array a:
Code:
1
11
121
1331
14641
...
Dann kannst du ja leicht die Rechenregel dafür aufstellen:
a[n][0] = 1; für alle n
a[n][n] = 1; für alle n
a[n][x] = a[n-1][x-1] + a[n-1][x]; für 0 < x < n

Ausgabe kannste ja analog zu deinem bisherigen machen.
 

Andi_CH

Top Contributor
Hm - du machst dir einen Array von int und in dem ist immer die letzte Zeile gespeichert.
Initialisiert mit {1, 1, 0, 0, ..................}

Schreibe 1
Schreibe den Array

Rechne die nächste Zeile - 1, Array[0] + Array[1], Array[1] + Array[2] - bis ans Ende des Arrays oder besser bis die Summe 0 ist (du hast zwei 0 zusammengezählt)

Berechnete Zeile schreiben und im Array speichern

hm, was hatte das mit Java zu tun???:L :D --> Das war programmieren, jetzt gehts ans codieren.
Nun mal los und in Java umsetzen .....
--
Programmieren sollte man eigentlich lernen bevor man eine Programmiersprache erlernt



Edit: hab jetzt eben erst das Posting von EikeB gesehen

Gute Idee mit 2d Array - passt auch in meinen "Code"



Implementiert mit einen 2d Array - sieht doch gut aus;-)
Denk mal darüber nach, versuch etwas und wenn es nicht gelingt, helfen wir gerne weiter ;-)
Code:
=== testPyramide ===
     1 
    1 1 
   1 2 1 
  1 3 3 1 
 1 4 6 4 1 
=================
 
Zuletzt bearbeitet:

JensArpe

Mitglied
Das was du programmieren willst heißt Pascalsches_Dreieck. Du kannst das ganze auch brechnen in dem du jede Zahl direkt mit "n über k" (Binomialkoeffizient) berechnest..

Also in etwa so

Java:
for(int g = 0; g < zeilen; g++){
	for(int i = 0; i <= g; i++){
		System.out.print(fak(g)  /  (fak(i) * fak(g-i)));						
	}			
	System.out.println();
}

Wobei zeilen die Anzahl der Zeilen die du haben willst ist, und fak eine Funktion die die Fakultät berechnet.

Gut Leerzeichen fehlen dann noch.. aber das sollte ja kein Ding sein.. :)
 
Zuletzt bearbeitet:

Dliko

Mitglied
So.....
Java:
public class Uebung17 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);

		System.out.println("Eingabe>:");
		int input = Integer.parseInt((in.nextLine()));
		int tabelle[][] = new int[input][input];

		for (int i = 0; i < input; i++) {
			System.out.println();
			for (int j = 0; j < input - i; j++) {
				System.out.print(" ");
			}
			for (int j = 0; j <= i; j++) {
				if (j == 0) {
					tabelle[i][j] = 1;
					
				} else {
					tabelle[i][j] = tabelle[i - 1][j - 1] + tabelle[i - 1][j];
				}
				System.out.print(tabelle[i][j] + " ");

			}

		}

	}
}


Sobald es nun zweistellig oder mehr wird, ist das ganze nicht mehr genau untereinander.
Ich würde ihm gerne noch ne weiter leerstelle mitgeben, bin aber grade zu blöd dafür. Jemand ne Idee?
 

XHelp

Top Contributor
So eine spontane Idee:
Du suchst dir das größte Element raus, z.B. max=564.
Code:
längeVon(564)
ist 3.
Jedes mal, wenn du eine Zahl x ausgibst, machst du vorher noch
Code:
längeVon(max)-längeVon(x)
-Leerzeichen hin.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MaZ Quadrat Schleife(Pyramide) Java Basics - Anfänger-Themen 9
Lion.King for-Kontrollstruktur für Pyramide Java Basics - Anfänger-Themen 8
C Pyramide aus * erstellen Java Basics - Anfänger-Themen 23
H Pyramide Java Basics - Anfänger-Themen 49
L JavaKara Pyramide Java Basics - Anfänger-Themen 17
S Sternchen Pyramide Java Basics - Anfänger-Themen 11
N Pyramide in Java Java Basics - Anfänger-Themen 3
S 100 als Summe Java Basics - Anfänger-Themen 16
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
Ninum Summe Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
R Summe Java Basics - Anfänger-Themen 13
M Array Summe bestimmen? Java Basics - Anfänger-Themen 14
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
A Summe des Arrays pd mit alternativer Schleife Java Basics - Anfänger-Themen 2
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
F Summe in einem Array bestimmen Java Basics - Anfänger-Themen 3
N Quadratische Matrix inkl Summe Java Basics - Anfänger-Themen 8
F Summe aller echten Teiler Java Basics - Anfänger-Themen 2
F Summe aller echten Teiler und Zahlen zurückgeben Java Basics - Anfänger-Themen 1
M Array Summe- wo ist der Fehler ? Java Basics - Anfänger-Themen 13
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
A Summe aller ungeraden Zahlen Java Basics - Anfänger-Themen 5
J ArrayList: summe aller Spielkarten Java Basics - Anfänger-Themen 15
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
K Methode: Summe von n Zahlen Java Basics - Anfänger-Themen 24
S Summe aus Kombinationen /permutationen einer Liste mit einer Obergrenze Java Basics - Anfänger-Themen 10
P Altklausur: Abfrage der Summe Java Basics - Anfänger-Themen 9
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
B summe von 2 Matrizen Java Basics - Anfänger-Themen 20
V Input/Output ArrayList Summe ausgeben Java Basics - Anfänger-Themen 57
B Serial Key prüfen -> String mit privatem Key und dann abgleichen; Summe = 0 Java Basics - Anfänger-Themen 8
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
L Array: Summe aller geraden und ungeraden Zahlen ermitteln Java Basics - Anfänger-Themen 9
Joew0815 summe aus einem aarray Java Basics - Anfänger-Themen 4
B Summe aller Zahlen von 1 bis zu dieser Zahl (ohne while oder for schleife) Java Basics - Anfänger-Themen 4
E Summe der "Nachbarn" eines Wertes in einem Array bestimmen Java Basics - Anfänger-Themen 8
P Schleife zur Berechnung von einer Summe Java Basics - Anfänger-Themen 16
G Rekursion Summe Java Basics - Anfänger-Themen 15
D Summe von Eingaben in einer for Schleife Java Basics - Anfänger-Themen 4
J Summe mit 45 nachkommastellen Java Basics - Anfänger-Themen 8
D Summe aller Positiven Integer aus einer Liste mit ActionObject Java Basics - Anfänger-Themen 2
V Programm summe Java Basics - Anfänger-Themen 11
I Summe eines Arrays ohne Schleife Java Basics - Anfänger-Themen 4
C Summe berechnen Java Basics - Anfänger-Themen 22
A Summe aller Natürlichen Zahlen - Methode Prüfen Java Basics - Anfänger-Themen 10
A summe von m bis n mit for-Schleife Java Basics - Anfänger-Themen 5
M array - summe quer Java Basics - Anfänger-Themen 9
J summe von aufeinander folgenden floats eines arrays Java Basics - Anfänger-Themen 10
B array bestimmte summe berechnen Java Basics - Anfänger-Themen 4
S Summe Berechnen Java Basics - Anfänger-Themen 6
S Summe von Zufallszahlen Java Basics - Anfänger-Themen 9
Z Summe von Vektor-Elementen Java Basics - Anfänger-Themen 5
E Array gebildete Summe ausgeben Java Basics - Anfänger-Themen 5
D 100.0% gleichmäßig aufteilen, so dass Summe 100.0% sind, nicht 99,9% oder 100,1% Java Basics - Anfänger-Themen 3
M Rekursion Summe vom Array Java Basics - Anfänger-Themen 2
W sin-funktion x-wert der summe approximieren Java Basics - Anfänger-Themen 2
M Summe eines Arrays Java Basics - Anfänger-Themen 2
U Summe produkt von einem array Java Basics - Anfänger-Themen 9
J Summe postive Zahlen und negative Zahlen Java Basics - Anfänger-Themen 12
G Summe der Ziffern einer Zahl EFFIZIENT berechnen? Java Basics - Anfänger-Themen 18
J matrix nach summe der spalten sortieren Java Basics - Anfänger-Themen 5
Antoras Zahlen mischen und mit einer for-Schleife Summe berechnen Java Basics - Anfänger-Themen 12
G Summe zweier doubles falsch? Java Basics - Anfänger-Themen 10
G Md5 Summe eines Fileobjektes bilden Java Basics - Anfänger-Themen 4
G JTable Zwischenüberschriften bzw. Summe? Java Basics - Anfänger-Themen 2
L Berechnung Summe Java Basics - Anfänger-Themen 3
A String in Zahlen/Summe umformen Java Basics - Anfänger-Themen 2
R Summe Iterative Java Basics - Anfänger-Themen 6
S Summe innerhalb eines arrays? Java Basics - Anfänger-Themen 2
M summe von squares Java Basics - Anfänger-Themen 3
Orkanson Best Practice Array Diagonal durchsuchen Java Basics - Anfänger-Themen 2
Y Mehrdimensionales Array diagonal abfragen. Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben