Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Wheinachtsbaum » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (3): [1] 2 3 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Wheinachtsbaum
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
JKU11
Jungspund


Dabei seit: 10.11.2012
Beiträge: 20

Wheinachtsbaum Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo. Habe hier eine Übungsaufgabe, finde aber keinen Lösungsansatz :

Write a program to print a ?tree? by
stacking number pyramids. Your algorithm will stack (n-1) pyramids,
where each pyramid has an increased height, and ?n? is entered by the
user. Each element of the pyramid shall be a 2n result, restarting with 21 in each row and incrementing n until the middle of the row is reached.

Then n is decreased until 21 is reached again at the end of the row.
Note that ?n? is also the maximum number of rows in the last pyramid of
the tree. The image on the left side shows a maximum of 5 rows for the
last pyramid ? find appropriate limits for the user input. Limit the user
input appropriately to achieve a Christmas Tree fitting to the max width
of your console window.


Meine Ideen:
Wie gesagt habe ich leider keine Ahnung wie ich anfangen soll. Nehme mal an, dass es nur mit Arrays realisierbar ist.

Und wenns geht bitte keine fertigen Codes nur mal ein paar Ideen wie ich vorgehen soll. smile

Beste Grüße

JKU11 hat dieses Bild (verkleinerte Version) angehängt:
Unbenannt.png

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von JKU11: 15.11.2012 00:24.

15.11.2012 00:18 JKU11 ist offline Beiträge von JKU11 suchen Nehmen Sie JKU11 in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

1. Schau mal wie breit der Baum maximal in Abhängigkeit von der Höhe werden kann.
2. wie kannst du eine einzelne Ebene so ausgeben, dass sie zentriert ist (in Abhängigkeit von einer Zeilenbreite)
3. Wie kannst du eine einzelne Stufe des Baumes ausgeben

Und dann alles zusammenfügen Augenzwinkern

VG,

Karlito
15.11.2012 09:09 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
JKU11
Jungspund


Dabei seit: 10.11.2012
Beiträge: 20

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Alsooo:

Die Höhe des Baumes errechne ich mir mit (2+3+4...+n) Zeilen
Die Breite mit (n*2)-1

Also jede Pyramide: fängt mit 2 an und erhöhe um 2 solange 2^n erreicht, anschließend subtrahiere bis Ergebnis 2 ist.
Das wäre mein Algorithmus für die letzte Zeile jeder Pyramide.

Das Problem ist halt, dass ich nicht genau weiß wie ich das ganze mit Arrays realisieren soll .

MfG
15.11.2012 20:00 JKU11 ist offline Beiträge von JKU11 suchen Nehmen Sie JKU11 in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Naja, Du schreibst die Werte in ein Array und gibst dieses aus? Welche Sprache sollst du denn verwenden?

VG,

Karlito
15.11.2012 20:05 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
JKU11
Jungspund


Dabei seit: 10.11.2012
Beiträge: 20

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Java.

Haben mit den Arrays noch nicht viel durch genommen, daher tu ich mir ziemlich schwer :/
15.11.2012 21:37 JKU11 ist offline Beiträge von JKU11 suchen Nehmen Sie JKU11 in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Mach halt mal einen Vorschlag, wie eine Methode aussähe, welche eine Zeile des Baumes in einem Array erzeugt...

VG,

Karlito
15.11.2012 21:51 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
JKU11
Jungspund


Dabei seit: 10.11.2012
Beiträge: 20

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

also hab hier den code. Er gibt mir aber was komischer raus und hab auch ne Fehlermeldung dazu. Nach meinem "Schreibtischtest" sollte eigentlich alles funktionieren. verwirrt

public class Pyr {

public static void main(String[] args) {

int n,x;
int b;
n=Input.readInt();
int a=(2*n)-1;
int [] Zeile;
Zeile = new int[a];

for (int i=0; i<=(2*n-1);i++) {
Zeile[i]=b;
System.out.print(b);
b=b*2;
if (b>=Math.pow(2.0, n)) {
for (x=n-1; x>=1; ) {
b=b-Math.pow(2.0, x);
System.out.print(b);
x=x-1;
}
}
}
}
}


Er gibt mir folgendes auf der Konsole aus:

Input : 3
2481632Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at Pyr.main(Pyr.java:13)
Drücken Sie eine beliebige Taste . . .

Keine Ahnung was da gemeint ist, die Zahlen stimmen ja nach der 8 auch nicht mehr
15.11.2012 23:40 JKU11 ist offline Beiträge von JKU11 suchen Nehmen Sie JKU11 in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Schau dir mal den Schleifenkopf an...
16.11.2012 00:11 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
JKU11
Jungspund


Dabei seit: 10.11.2012
Beiträge: 20

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

den ersten?
16.11.2012 00:32 JKU11 ist offline Beiträge von JKU11 suchen Nehmen Sie JKU11 in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Jap. Brauchst du wirklich so viele Schleifendurchläufe?
16.11.2012 00:38 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
JKU11
Jungspund


Dabei seit: 10.11.2012
Beiträge: 20

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

hab jetzt den ersten Schleifenkopf durch: for (i=0; i<=n-1;i++) ersetzt.

Kommt aber noch immer dasselbe raus :/

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von JKU11: 16.11.2012 00:57.

16.11.2012 00:54 JKU11 ist offline Beiträge von JKU11 suchen Nehmen Sie JKU11 in Ihre Freundesliste auf
JKU11
Jungspund


Dabei seit: 10.11.2012
Beiträge: 20

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von JKU11: 16.11.2012 01:16.

16.11.2012 01:08 JKU11 ist offline Beiträge von JKU11 suchen Nehmen Sie JKU11 in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo.

Nein, ich finde sogar, dass deine IDE zu wenig sagt großes Grinsen

Karlito hat dieses Bild (verkleinerte Version) angehängt:
Beispiel.jpg

16.11.2012 01:27 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
JKU11
Jungspund


Dabei seit: 10.11.2012
Beiträge: 20

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

großes Grinsen jetzt kommt wenigstens keine Fehlermeldung mehr ^^.. Hatte das b nicht gecastet.

Naja das Ouput sieht jetzt so aus :

5
248160-32-64-96-96Drücken Sie eine beliebige Taste . . .
16.11.2012 01:44 JKU11 ist offline Beiträge von JKU11 suchen Nehmen Sie JKU11 in Ihre Freundesliste auf
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Schau dir noch mal meinen Post an. Dann wirst du sehen, woran die komischen Ausgaben liegen.
16.11.2012 01:50 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Seiten (3): [1] 2 3 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Wheinachtsbaum