NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
albertpatera
Tvůrce
Avatar
albertpatera:10.5.2015 15:13

Ahoj,

potřeboval bych poradit s jednou takovou maličkostí. Přes cyklus for vykresluju stromek s kmenem (ten už mám). Jenom potřebuju, aby koruna byla ve tvaru rovnoramenného trojúhelníku. Neví někdo, jak na to ?
Tady přikládám kod.

//toto je koruna stromu

       for (int i = 1; i <= 5; i++)
       {

           System.out.println( "XX"  );
           for (int x = 1; x <= 10; x++)
           {
               System.out.print("XX" +x);

           }

       }
       System.out.println();


       // toto je kmen strumu

       for (int i = 1; i <= 5; i++)
       {
           System.out.println( "XX" );
           for (int x = 1; x <= 10; x++)
           {
               System.out.print(".");

           }

       }

Moc by mi to pomohlo, díky

Editováno 10.5.2015 15:14
 
Odpovědět
10.5.2015 15:13
Avatar
adas
Tvůrce
Avatar
Odpovídá na albertpatera
adas:10.5.2015 16:11
int sirka = 7;
for (int i = 0; i < sirka; i++)
{

   int okraj = (sirka-(1+(2*i)))/2;
   string vypsat = "";
   for (int x = 1; x <= okraj; x++)
   {
      vypsat += " ";
   }
   for (int y = 1; y <= sirka-(okraj*2); y++)
   {
      vypsat += "X";
   }
   for (int j = 1; j <= okraj; j++)
   {
      vypsat += " ";
   }
   System.out.print(vypsat);
}
Editováno 10.5.2015 16:14
 
Nahoru Odpovědět
10.5.2015 16:11
Avatar
adas
Tvůrce
Avatar
adas:10.5.2015 16:17

Psal jsem to přímo sem takže tam můžou být chyby.

 
Nahoru Odpovědět
10.5.2015 16:17
Avatar
Štefan Pružinský:10.5.2015 16:24

Napríklad takto:

for (int i = 0; i < 5; i++)
{
        for (int x = 1; x <= 20; x++)
        {
            if (x > (10 - (1 + i * 5) / 2) && x <= (11 + (1 + i * 5) / 2))
                System.out.print(".");
            else
                System.out.print(" ");
        }
        System.out.println();
}

for (int i = 1; i <= 5; i++)
{
    for (int x = 1; x <= 20; x++)
    {
        if (x > 5 && x <= 15)
                System.out.print(".");
        else
                System.out.print(" ");
    }
    System.out.println();
}

Výsledok je:

          .
       .......
     ...........
  .................
....................
     ..........
     ..........
     ..........
     ..........
     ..........
Editováno 10.5.2015 16:28
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
10.5.2015 16:24
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Štefan Pružinský:10.5.2015 16:29

Prepáč, v komentári to zarovná na ľavo. Posielam obrázok.

Nahoru Odpovědět
10.5.2015 16:29
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
Štefan Pružinský:10.5.2015 16:54

A v tom prvom vnorenom cykle (ktorý vykresľuje korunu), má byť x = 21 namiesto x = 20.

Nahoru Odpovědět
10.5.2015 16:54
Najefektívnejším spôsobom debuggingu je modlitba. :)
Avatar
albertpatera
Tvůrce
Avatar
 
Nahoru Odpovědět
10.5.2015 18:52
Avatar
Odpovídá na albertpatera
Štefan Pružinský:10.5.2015 19:05

Nemáš začo. Môžeš označiť riešenie:)

Nahoru Odpovědět
10.5.2015 19:05
Najefektívnejším spôsobom debuggingu je modlitba. :)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.