Structuri de date (struct)
Tipul articol • campuri • vectori de structuri • Subiectul II garantat
Nivel: Mediu | Durata: ~35 min
De la omogen la neomogenNivel: Mediu | Durata: ~35 min
Vectorii/matricile sunt omogene (acelasi tip). Dar un "Elev" are nume (sir) + medie (real)? Aici intra tipul articol (struct): grupeaza variabile de tipuri diferite sub un nume. Componentele = campuri (membri).
1. Definire + declarare
Definirea (de obicei global, deasupra main). ';' la final OBLIGATORIU!
Code: Select all
struct Elev {
char nume[50];
int varsta;
float medie;
}; // nu uita punctul si virgula!Code: Select all
Elev e1, e2; // variabile simple
Elev clasa[30]; // VECTOR de structuri (util la BAC!)Code: Select all
Elev e1;
e1.varsta = 18;
e1.medie = 9.50;
strcpy(e1.nume, "Popescu Ion");
cin >> e1.varsta;
cin.get();
cin.getline(e1.nume, 50);Code: Select all
Elev clasa[30];
clasa[0].medie = 10;
cout << clasa[i].varsta; // varsta elevului de pe pozitia iCode: Select all
int n;
Elev clasa[100];
cin >> n;
for (int i = 0; i < n; i++)
cin >> clasa[i].nume >> clasa[i].medie;
float max_medie = clasa[0].medie;
int poz_max = 0;
for (int i = 1; i < n; i++)
if (clasa[i].medie > max_medie) {
max_medie = clasa[i].medie;
poz_max = i;
}
cout << clasa[poz_max].nume << " " << max_medie;Sursa: bac-2026.vercel.app/lessons/16