Informatică, întrebare adresată de Naomi1996, 9 ani în urmă

Model bac informatica 2013, Sub. II, 1.

In declararea alaturata, campurile a si b ale inregistrarii reprezinta lungimea si latimea unui dreptunghi. Indicati expresia C/C++ care are valoarea 1 daca si numai daca dreptunghiul corespunzator variabilei d este patrat.

struct dreptunghi {
int a,b;
} d;

a) a.d==b.d
b) a->dreptunghi==b->dreptunghi
c) d.a==d.b
d) dreptungi.a=dreptunghi.b

Va rog, pentru problema aceasta am nevoie de explicatii. (stiu ca raspunsul corect este c). Am ales sa dau la info a treia proba la bac si vreau sa inteleg acest tip de probleme.Care este capitolul din care face parte aceasta aplicatie? Deasemenea va rog sa imi explicati notiunile teoretice de care am nevoie pentru a aborda cu succes probleme de acest gen. Multumesc mult!

Răspunsuri la întrebare

Răspuns de stefcrs
1
Ceea ce trebuie sa inveti tu sunt structurile (dupa cum vezi ai folosit tipul struct). Variabila d nu este o variabila de tip int sau long long, ci de tip dreptunghi, deaorece asa a fost numit struct-ul (poti sa-i dai aproape orice nume; nu-i poti da numele int sau char, numele unor functii definite de utilizator sau predefinite, sau numele altor variabile globale-retinem ca poate avea numele unei variabile locale, dar variabila locala va avea prioritate in functia respectiva, deci nu ai putea folosi struct-ul, totusi iti sugerez sa nu le dai acelasi nume, ca eu stiu teoria, dar n-am experimentat niciodata cazul acesta si s-ar putea sa fie unele inconveniente). In componenta variabilei d (scuze, nu prea poate fi numita variabila, dar ii spun asa ca sa intelegi) intra doua variabile de tip int: a si b. Pentru accesarea lor se va folosi operaturul '.' sau '->'. Ex.: d.a == d->a . Aici d.a si d.b reprezinta de fapt variabilele. Cum spune si in enunt, a si b sunt doar campuri ale inregistrarii. Pentru aprofundarea struct-ului iti sugerez sa cauti in manual sau pe internet (sigur gasesti).
Alte întrebări interesante