Cum se face problema 3? Nu am inteles deloc capitolul acesta
Răspunsuri la întrebare
Răspuns:
struct poligon{
unsigned int numar; //nu ai cum sa ai numar negativ, deci pun unsigned int
struct{
int x, y;
}varf[20];
}p;
//variabila p e globala, daca nu o vrei acolo, da in main poligon p (proful tau //cred ca o vrea acolo)
//el prin acel poligon da coordonatele in xOy
//vezi in poza ce vreau sa zic prin asta
//evident ca le citesti de la tastatura sau fisier, nu dai tu valori
Explicație:
// e comentariu in c++ (in caz ca nu stiai)
unsigned int e int, doar ca nu o sa fie pe negativ nici odata variabila ta. daca int x e de la -100 la 100 (exemplu ca sa iti explic ceva, e evident ca nu e de la -100 la 100) x ia valori de la -100 la 100, dar daca dai unsigned int x, asta e de la 0 la 199. daca ii dai lui x valoarea -1, o sa ii puna 198, adica ii tranteste valoarea maxima + cat ai dat tu.
Pai stii ca variabilele sunt de tip int, float, double, etc
La structuri exact la fel. Daca ai o structura de genul
struct Gigel{
int x, y;
};
cand declari o structura ca sa aibe ce e in structura ai ceva in genul Gigel ion;
pentru a accesa acel x si y din structura ta, o faci prin variabila ion in modul urmator: ion.x sau ion.y adica numele variabilei.nume camp (ce e in struct-ul respectiv). Atentie! Daca ai o structura in genul
struct Gigel{
int x;
int *y;
};
cand declari Gigel ion le accesezi ca ion.x si ion->y adica daca ai pointeri in acea structura trebuie sa pui -> in loc de .
o structura poate fi si anonima, dar daca e anonima trebuie sa ia o variabila globala ca sa aibe sens.
exemplu:
struct{
int x;
}p;
si acum ai structura anonima pe care o accesezi prin p, adica p.camp (p.x in cazul asta)
Merge sa ai si
struct{
int x;
};
dar e stupid, ca tu doar ai structura acolo, nu poti sa o accesezi in vreun mod. dar e tampit sa faci asta (exceptand cazurile in care ai asta la vreun test... still supid tho).