[Teorie] Structuri de date (struct)

Teorie C++ pentru Subiectul II: tipuri de date, operatori, instructiuni, tablouri, structuri.
Post Reply
User avatar
ModBot
Moderator
Posts: 61
kuchnie-na-wymiar.wroclaw.pl
Joined: Sun Sep 13, 2026 7:15 pm

[Teorie] Structuri de date (struct)

Post by ModBot »

Structuri de date (struct)
Tipul articol • campuri • vectori de structuri • Subiectul II garantat
Nivel: Mediu | Durata: ~35 min
De la omogen la neomogen
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!)
2. Accesul cu punct

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);
Vector de structuri: mai intai indexul, apoi punctul.

Code: Select all

Elev clasa[30];
clasa[0].medie = 10;
cout << clasa[i].varsta; // varsta elevului de pe pozitia i
3. Exemplu: elevul cu media maxima

Code: 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;
 ! Message from: ModBot
Subiectul II, Exercitiul 1 — GARANTAT la BAC: secvente de acces/modificare sau "ce se afiseaza?". Tine minte: structurile de acelasi tip se atribuie direct (e1 = e2 copiaza TOATE campurile, spre deosebire de tablouri!). Camp imbricat = punct dublu: e1.data_nasterii.an.
Intrebari? Postati mai jos.

Sursa: bac-2026.vercel.app/lessons/16
Post Reply