"Se doreşte reprezentarea pe ecran a unor ferestre suprapuse. Pentru fiecare fereastra se citeşte
o linie conţin
Început de LaurH, Mar 11 dec 2012 · 3 răspunsuri · 2.839 vizualizări
"Se doreşte reprezentarea pe ecran a unor ferestre suprapuse. Pentru fiecare fereastra se citeşte
o linie conţin
ultimul plan insemnand cea mai adanca fereastra ? sau cea mai adanca fereastra care e vizibila ?
in primul caz(cea mai adanca fereastra) parcurgi adancimile(adica a5a componenta din ce citesti tu) si iei maximul.
daca vor ultima fereastra care e vizibila faci asa:
> cum ai pus prima fereastra in plan, umplii toate coordonatele acestei ferestre cu acel caracter. adica toate coordonatele acestui dreptunghi vor lua caracterul(adica a6a componenta din ce citesti tu).
> pui a2a fereastra(in ordinea adancimii, prima fiind cu adancimea cea mai mica). umplii aceasta fereastra cu caracterul ei. acum e posibil sa acoperi cu acest caracter si portiuni din prima fereastra.
> si tot asa si cu restul ferestrelor.
acum toate caracterele care raman sunt vizibile. daca o fereastra nu e vizibila inseamna ca a fost acoperita de caracterele celorlalte.
acum parcurgi tot planul ferestrelor(calculezi si tu niste minime si maxime la inceput pentru toate coordonatele - planul tau va fi cuprins intre aceste minime si maxime) si vezi ce caractere au ramas(le pastrezi intr-un vector). si apoi iei fereastra cea mai adanca si vezi daca are caracterul in acest vector. daca da inseamna ca e cea mai adanca fereastra vizibila. daca nu, o iei pe urmatoarea in ordinea adancimii.
Editat Mar 11 dec 2012 23:52
Redondo a scris:ultimul plan insemnand cea mai adanca fereastra ? sau cea mai adanca fereastra care e vizibila ?
in primul caz(cea mai adanca fereastra) parcurgi adancimile(adica a5a componenta din ce citesti tu) si iei maximul.
daca vor ultima fereastra care e vizibila faci asa:
> cum ai pus prima fereastra in plan, umplii toate coordonatele acestei ferestre cu acel caracter. adica toate coordonatele acestui dreptunghi vor lua caracterul(adica a6a componenta din ce citesti tu).
> pui a2a fereastra(in ordinea adancimii, prima fiind cu adancimea cea mai mica). umplii aceasta fereastra cu caracterul ei. acum e posibil sa acoperi cu acest caracter si portiuni din prima fereastra.
> si tot asa si cu restul ferestrelor.
acum toate caracterele care raman sunt vizibile. daca o fereastra nu e vizibila inseamna ca a fost acoperita de caracterele celorlalte.
acum parcurgi tot planul ferestrelor(calculezi si tu niste minime si maxime la inceput pentru toate coordonatele - planul tau va fi cuprins intre aceste minime si maxime) si vezi ce caractere au ramas(le pastrezi intr-un vector). si apoi iei fereastra cea mai adanca si vezi daca are caracterul in acest vector. daca da inseamna ca e cea mai adanca fereastra vizibila. daca nu, o iei pe urmatoarea in ordinea adancimii.
Cea mai adâncă fereastră, fie ea vizibilă sau nu. Am reuşit să înţeleg cât de cât problema, chestia la care s-ar putea să greşesc e la sfârşit, atunci când trebuie să afişez alea două ferestre.
Editat Mie 12 dec 2012 09:47
Am