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
Beiträge zu diesem Thema Autor Datum
 Wheinachtsbaum JKU11 15.11.2012 00:18
 RE: Wheinachtsbaum JKU11 16.11.2012 17:34
 RE: Wheinachtsbaum Karlito 16.11.2012 18:05
 RE: Wheinachtsbaum JKU11 16.11.2012 20:31
 RE: Wheinachtsbaum Karlito 15.11.2012 09:09
 RE: Wheinachtsbaum JKU11 15.11.2012 20:00
 RE: Wheinachtsbaum Karlito 15.11.2012 20:05
 RE: Wheinachtsbaum JKU11 15.11.2012 21:37
 RE: Wheinachtsbaum Karlito 15.11.2012 21:51
 RE: Wheinachtsbaum JKU11 15.11.2012 23:40
 RE: Wheinachtsbaum Karlito 16.11.2012 00:11
 RE: Wheinachtsbaum JKU11 16.11.2012 00:32
 RE: Wheinachtsbaum Karlito 16.11.2012 00:38
 RE: Wheinachtsbaum JKU11 16.11.2012 00:54
 RE: Wheinachtsbaum JKU11 16.11.2012 01:08
Nächste Seite »

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
JKU11
Jungspund


Dabei seit: 10.11.2012
Beiträge: 20

RE: 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

Ah vielen Dank!

Naja das mit den statischen Variablen war mir bisher neu.

Frage: Wozu steht das int n in public static void print_zeile(int n)?
Und was genau sagt das print_zeile(c); aus?

Sorry für die Fragen im Inet hab ich nichts Verständliches gefunden.
16.11.2012 17:34 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

RE: 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

Zitat:
Original von JKU11
Naja das mit den statischen Variablen war mir bisher neu.


Was genau meinst du mit statischen Variablen?

Zitat:
Original von JKU11
Frage: Wozu steht das int n in public static void print_zeile(int n)?


Das n ist ein Parameter. Er wird verlangt, wenn man die Funktion print_zeile aufruft.

Zitat:
Original von JKU11
Und was genau sagt das print_zeile(c); aus?


Rufe die Funktion print_zeile() mit dem Wert von c als Parameter auf.

VG,

Karlito
16.11.2012 18: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

RE: 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

Hab nach dem ausdruck gegoogelt und bin iwie auf statische variablen gekommen. smile

Mir ist noch nicht ganz klar was jetzt genau die absteigende Form der Pyramide im code ausmacht.

Warum wird das n in public static void print_zeile.. nicht benötigt. Dachte der Compiler läuft von oben nach unten das Progaramm ab?
16.11.2012 20:31 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
Seiten (3): [1] 2 3 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Wheinachtsbaum