Avatar billede hltohin Nybegynder
02. oktober 2010 - 16:18 Der er 13 kommentarer og
1 løsning

* stjerne program

Hej jeg har et problem med et program der skal udskrive stjerner lavet af *

*
*
***
  *
***
*****
  *
  ***
*****
*******
    *
  ***
  *****   
*******
*********

Her er min kode indtil nu:

import java.util.Scanner;

public class Opgave13 {
    public static void main(String[] args) {

        int PYmax;

        Scanner scan = new Scanner (System.in);

        System.out.println("Hvor mange pyramider skal programmet tegne?");

        PYmax = scan.nextInt();

        for (int pyramider = 1; pyramider <= PYmax; pyramider++)
        {

            for (int linjer = 1; linjer <= pyramider; linjer++)
            {
                System.out.println();   

                for (int mellemrum = pyramider; mellemrum >= 1; mellemrum--)
                {
                    System.out.print(" ");   

                    for (int star = 1; star <= 2*linjer-1; star++)
                        System.out.print("*");
                }       
            }
        }
    }
}

Er der nogen som kan give mig nogle fif?
Avatar billede hltohin Nybegynder
02. oktober 2010 - 16:20 #1
Forummet viser ikke pyramiderne korrekt. Der skal være faldende antal mellemrum nedad i pyramiden.
Avatar billede arne_v Ekspert
02. oktober 2010 - 16:25 #2
Jeg tror at du skal have "stjerne løkken" udenfor "mellemrums løkken".
Avatar billede hltohin Nybegynder
02. oktober 2010 - 22:08 #3
Kan sgu ikke lige få de mellemrum til at spille

import java.util.Scanner;

public class Opgave13 {
    public static void main(String[] args) {

        int PYmax;

        Scanner scan = new Scanner (System.in);

        System.out.println("Hvor mange pyramider skal programmet tegne?");

        PYmax = scan.nextInt();

        for (int pyramider = 1; pyramider <= PYmax; pyramider++)
        {

            for (int linjer = 1; linjer <= pyramider; linjer++)
            {
                System.out.println();   

                for (int star = 1;star <= 2*linjer-1; star++)
                {
                    System.out.print("*");   

                    for (int mellemrum = 1; pyramider-linjer > mellemrum; mellemrum++)
                        System.out.print(" ");
                }       
            }
        }
    }
}
Avatar billede arne_v Ekspert
03. oktober 2010 - 01:04 #4
Mellemrums løkken skal heller ikke inden i stjerne løkken.

Først mellemrums løkken, så stjerne løkken.
Avatar billede hltohin Nybegynder
03. oktober 2010 - 11:30 #5
Syntes jeg kom længere væk fra løsningen nu.

import java.util.Scanner;

public class Opgave13 {
    public static void main(String[] args) {

        int PYmax;

        Scanner scan = new Scanner (System.in);

        System.out.println("Hvor mange pyramider skal programmet tegne?");

        PYmax = scan.nextInt();

        for (int pyramider = 1; pyramider <= PYmax; pyramider++)
        {

            for (int linjer = 1; linjer < pyramider; linjer++)
            {
                System.out.println();   

                for (int mellemrum = 1;mellemrum < pyramider; mellemrum++)
                {
                    System.out.print(" ");   

                    for (int star = 1; star <= 2*linjer-1; star++)
                        System.out.print("*");
                }       
            }
        }
    }
}
Avatar billede arne_v Ekspert
03. oktober 2010 - 23:42 #6
Nu har du igen puttet stjerne løkken indeni mellemrums løkken i.s.f. efter.
Avatar billede hltohin Nybegynder
04. oktober 2010 - 14:33 #7
Altså mener du at den slet ikke skal ind i de andre?
Avatar billede arne_v Ekspert
04. oktober 2010 - 14:48 #8
Ja. Som i:

for(pyramider) {
    for(linier) {
        for(mellemrum) {
        }
        for(star) {
        }
    }
}
Avatar billede hltohin Nybegynder
04. oktober 2010 - 15:16 #9
Så kan den vel kun tegne en pyrademide da den sidste for løkke kun kan køre en gang?
Avatar billede arne_v Ekspert
04. oktober 2010 - 15:26 #10
Nej.

Star for loekken koeres jo antal pyramider x antal linier gange.
Avatar billede hltohin Nybegynder
11. oktober 2010 - 00:14 #11
Jeg har ikke glemt tråden, har bare ikke fået kigget på opgaven siden.

Men jeg tror du har fat i det rigtige.

Vender tilbage når jeg har løst den.
Avatar billede arne_v Ekspert
20. november 2010 - 01:17 #12
Kommet videre?
Avatar billede hltohin Nybegynder
30. april 2011 - 19:52 #13
Sry jeg ikke lige fik svaret

Læg et svar og jeg acceptere den
Avatar billede arne_v Ekspert
30. april 2011 - 20:13 #14
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester