Zeige Beiträge 1 bis 15 von 20 Treffern |
Seiten (2): [1] 2 nächste » |
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
Ok da muss ich mich noch einarbeiten. Vielen Dank für die Hilfe
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
Jetzt ist mir einiges klar geworden
Dachte zuerst, dass das print_zeile(c) eine Augabemethode wie system.out.print ist.
Wegen den einrückungen soll ich ja printf verwenden.
Also:
......2
....2 4 2
2 4 8 4 2
Gibts da ne bestimmte printf Funktion ?
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
In der main wird im ersten Durchlauf c mit 1 initialisiert, im zweiten Durchlauf mit 2 usw. Wie weiß dann die Funktion print_Zeile das sie nur 2 und nicht 2 4 8 16 8 4 2 ausgeben soll?
Beste Güße
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
Würd gern genau wissen wie die halbe Pyramide im Ouput entsteht:
2
242
24842 ..
Mir is schon klar mit dem Code, den du mir gegeben hast. Das Einzige was mir nicht klar ist, mit welcher Funktion erreicht wird das um in jeder Zeile 2 Werte dazukommen.
Hoffe ich konnte es dir verständlich erklären
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
Vielen Dank, sehr verständlich erklärt!
Habe jetzt beide Funktionen separat ausgeführt.
Bei public static void print_zeile als main funktion werden ja nur die Zahlen in einer Zeile ausgeführt: 2 4 8 4 2 zb.
Bei
public class Zeile {
public static void main(String[] args) {
int n;
System.out.println("Input: ");
n=Input.readInt();
for(int c = 1; c<=n; c++){
System.out.print("1");
werden alle 1 in der Zeile ausgegeben.
Wie kommt man dann zu dem "halben Berg" als Output?
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
Hab nach dem ausdruck gegoogelt und bin iwie auf statische variablen gekommen.
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?
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
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.
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
Habs jetzt so versucht, kommt aber ganz was anderes raus.
int n,x;
int b=2;
n=Input.readInt();
int y=n;
int a=(2*n)-1;
int c=(int)(Math.pow(2.0, n));
int [] Zeile;
Zeile = new int[a];
for (int z=0; z<=y; z++) {
for (int i=0; i<=n-1;i++) {
Zeile[i]=b;
System.out.print(b +" ");
b=b*2;
}
for (x=n-1; x>=1
{
c=(int)(c-Math.pow(2.0, x));
System.out.print(c+ " ");
x=x-1;
}
System.out.println();
n=n-1;
}
}
}
Hab grad keinen Plan wie ich das umsetzen soll.
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
So, hab jetzt den Fehler gefunden.
public class Pyr {
public static void main(String[] args) {
int n,x;
int b=2;
n=Input.readInt();
int a=(2*n)-1;
int c=(int)(Math.pow(2.0, n)) ;
int [] Zeile;
Zeile = new int[a];
for (int i=0; i<=n-1;i++) {
Zeile[i]=b;
System.out.print(b);
b=b*2;
}
for (x=n-1; x>=1; ) {
c=(int)(c-Math.pow(2.0, x));
System.out.print(c);
x=x-1;
}
System.out.println();
}
}
Das Output stimmt jetzt auch
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
Ja habs jetzt endlich
Jetzt nur mehr 1 Problem lösen, und zwar dass die größte Zahl nicht 2 mal ausgegeben werden soll:
6
24816323216842Drücken Sie eine beliebige Taste . . .
Versteh nicht warum, mein code sieht nun so aus:
public class Pyr {
public static void main(String[] args) {
int n,x;
int b=2;
n=Input.readInt();
int a=(2*n)-1;
int [] Zeile;
Zeile = new int[a];
System.out.print(b);
for (int i=0; i<n-1;i++) {
Zeile[i]=b;
b=b*2;
if (b>=Math.pow(2.0, n)) {
for (x=n-1; x>=1
{
b=(int)(b-Math.pow(2.0, x));
System.out.print(b);
x=x-1;
}
}
else {
System.out.print(b);
}
}
}
}
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
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 . . .
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
hab jetzt den ersten Schleifenkopf durch: for (i=0; i<=n-1;i++) ersetzt.
Kommt aber noch immer dasselbe raus :/
|
|
Thema: Wheinachtsbaum |
JKU11
Antworten: |
34 |
Hits: |
22.143 |
|
|
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.
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
|
|
|
Zeige Beiträge 1 bis 15 von 20 Treffern |
Seiten (2): [1] 2 nächste » |
|
|