C-ben hogyan lehet a leggazdaságosabban kiíratni egy 'X' alakzatát?
Sziasztok! Az a feladat, hogy ki kell irritni ezt az alakzatot:
X X
X X
X
X X
X X
a leggazdaságosabb módon, azaz nem 5 db printf()-el...
Van ötletetek? Most nem tudok gondolkodni, van más feladatom is :(
.A segítséget nagyon megköszönném :)
*alakzatot
az alakzat:
X---X
-X-X-
--X--
-X-X-
X---X
, ahol a "-"-ek szóközök
egy nagy X öt sorban kis x-ekből...
#1, az is jó lenne :D
Ciklusokra gondoltam, csak nem tudom, hogy :( most egy struktúrás feladatot csinálok
char str[] ="X X\n X X\n X\n X X\nX X\n";
printf("%s ", str);
char str[] ="X___X\n_X_X\n__X\n_X_X\nX___X\n";
printf("%s ", str);
Bontsd részekre a feladatot:
1. van egyszer a kereszt "teteje" (0...méret / 2 - 1)
2. van a kereszt közepe (méret / 2)
3. van a kereszt alja (méret / 2 + 1...méret - 1)
ezeken az eseteken belüli alesetek:
1. van a kereszt bal szára előtti tér
2. a kereszt bal szára
3. a kereszt két szára közötti tér
4. a kereszt jobb szára (+ a sortörés)
a kereszt közepénél a 2. és 4. aleset elhagyandó
Egy példa:
http://pastebin(pont)com/pwMjhK10
"a kereszt közepénél a 2. és 4. aleset elhagyandó"
Pontosabban a 2. és a 3. aleset.
Azért Ennyire nem kell túlbonyolítani.
Két for ciklus meg két if és bármekkora x-et kirajzol.
Ha i==j vagy i+j==imax(ameddig mennek a forciklusok). Ha valamelyik feltétel teljesül(c-ben is biztos van || vagy operátor) akkor kiiratsz egy x-et, egyébként egy space-t majd minden külső ciklus végén egy sortörést
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!