» »

[C++] Risanje likov z zvezdicami

[C++] Risanje likov z zvezdicami

Deno ::

Malo za hec sem se lotil risanja likov z zvezdicami. Preprost primer bi bil:
*****
*   *
*   *
*****

Zgornji primer je cisto osnovni in se ga da resiti v parih minutah, zakomplicira se pri malo bolj zahtevnih, kot je recimo tale:
     *
    **
   ***
  ****
 *****
******
*    *
*    *
*    *
*    *
 *   *
  *  *
   * *
    **
     *

Uporabnik doloci visino lika v vrsticah, np. 11 vrstic. Program glede na podano visino narise lik, ki izgleda kot zgornji, le da je visok 11 vrstic.

Zanima me, kaksen bi bil najpreprostejsi nacin resitve te naloge. Sam sem se zadeve lotil takole:
Lik sem razdelil na 3 dele; zgornji polni trikotnik, sredinski kvadrat brez dna, spodnji prazni trikotnik.

Zgornji del:
     *
    **
   ***
  ****
 *****


Srednjii del:
******
*    *
*    *
*    *
*    *


Spodni del:
 *   *
  *  *
   * *
    **
     *


Naredil sem si funkcijo, ki razdeli lik na 3 dele in funkcijo, ki lik izrise. Vendar je za moje pojme prevec kode (ca. 200 vrstic s komentarji vred). Je se kaksen drugi, pametnejsi oz. hitrejsi nacin?
Trenutno delam se na bolj kompleksnem liku, zato bi mi kaksni nasveti prisli zelo prav. Je najlazje lik razdeliti na osnove like (kvadrat, trikotnik...) in potem izrisati vsak del posebej, ali obstaja kaksen drug trik?

Hvala

rokpok ::

Saj način, ki si ga izbral, je dokaj dober. Ampak 200 vrstic kode je pa občutno preveč za to.
Rad bi bil pingvin.

Deno ::

Brez komentarjev in main (se pravi samo funkcija za razdelitev in risanje) je okoli 80 vrstic.. Predvsem me zanima, če obstaja kakšen univerzalni postopek za risanje takih likov?

Vesoljc ::

dvomim, lahko pa si olajšaš delo z vnaprej pripravljenimi funkcijami...

divide & conquer?
Abnormal behavior of abnormal brain makes me normal...

Zgodovina sprememb…

  • spremenil: Vesoljc ()

Tomcater ::

Najlažje boš to rešil s for zankami. Glej tule je podoben primer, ki sem ga imel jaz -> KLIK in KLIK

To sta dva osnovna primera.
Iz tega lahko tvojo nalogo kamot razširiš.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Java zvezdice - malo drugače

Oddelek: Programiranje
82316 (2118) Leyla_
»

[c#] enostavna Igrca -> poraba procesorja 95%

Oddelek: Programiranje
192157 (1521) elKaktus
»

[c++] stevilo vrstic

Oddelek: Programiranje
51095 (1024) Roadkill
»

[C++][Naloga_polja]MIN in MAX polja, izpis za x.100 stevil

Oddelek: Programiranje
222940 (2751) snow
»

[visual c++] #ifdef _DEBUG

Oddelek: Programiranje
51095 (1036) Vesoljc

Več podobnih tem