Egy ciklussal megoldani egy n nagyságú x kiírását?
Sziasztok!
Az lenne a kérdésem, hogy ez hogyan lehetne megoldani (n számot bekérni, és olyan hosszú legyen az egyik szára / jelekből)
Egy ideje már gondolkozom rajta, és oszthatósággal akartam megoldani, de szerintem máshogy kéne.
Ha úgy értelmezem, hogy az X-nek négy szára van, és ezek mindegyikének n darab / vagy \ karakterből kell állnia:
1. ciklus: i = 0..n-1 (Pl: for(int i = 0; i < n; ++i) {...} )
kiír i darab szóközt
kiír egy \ karaktert
kiír 2*(n-i-1) darab szóközt
kiír egy / karaktert
sortörés
2. ciklus: i = 0..n-1
kiír n-i-1 darab szóközt
kiír egy / karaktert
kiír 2*i darab szóközt
kiír egy \ karaktert
sortörés
---
Megjegyzések:
1. Ez "csak" matek...
2. A \-t általában escape-elni kell, ha ki akarod írni, így: \\
Kiegészítés:
Ha egyetlen egy ciklussal akarod/kell megoldani, akkor:
- for(int i = 0; i < 2*n; ++i)
- belül elágazás:
if (i < n) {
/* az, amit fentebb írtam az 1. ciklushoz */
} else {
// kiír 2*n-i-1 darab szóközt
// kiír egy / karaktert
// kiír 2*(i-n) darab szóközt
// kiír egy \ karaktert
// sortörés
}
Igazából sehogy, ha függvényt hívnál, az is ezt csinálja.
Itt most annyi a lényeg, hogy ne legyen egymás után két ciklus a V-betűnek, meg a "lefelé néző" V betűnek.
(Amúgy az infoc-s feladatról van szó?)
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!