România
Roportal.ro

Problemă c++, ajutor!

Început de LaurH, Mar 11 dec 2012 · 3 răspunsuri · 2.839 vizualizări

LaurH3 mesaje#1

"Se doreşte reprezentarea pe ecran a unor ferestre suprapuse. Pentru fiecare fereastra se citeşte

o linie conţin

Redondo690 mesaje#2

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

LaurH3 mesaje#3
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

← Înapoi la Programare