Documente Academic
Documente Profesional
Documente Cultură
Elemente de teorie
n anumite situaii nu este sucient o structur de date care conine doar elemente de acelai tip, ca de exemplu tablourile. Pentru a putea construi structuri de date care s conin tipuri de date diferite s-a introdus tipul de date struct . Acest tip de date poate conine mai multe cmpuri, ecare cu tipul su de date. Sintax:
struct nume_structura { tip1 camp1_1 , camp1_2 ,. . ., camp1_n1 ; tip2 camp2_1 , camp2_2 ,. . ., camp2_n2 ; ... tipm campm_1 , campm_2 ,. . ., campm_nm ; };
pers.nume="Popescu"; pers.prenume="Ion";
pers.varsta=20; pers.ocupatie="Student";
De obicei pentru a simplica utilizarea de structuri se combi declararea stcturii cu denirea unui tip nou. Pentru exemplul de mai sus:
typedef struct persoana { char nume[20], prenume[20]; int varsta; char ocupatie[20]; } persoana;
Se observ c n toate declaraiile a disprut cuvntul cheie struct, deoarece a fost denit tipul persoana ca ind struct persoana .
Exerciii i probleme
1. S se scrie un program pentru operaii cu numere complexe. Acest program s efectueze: suma, diferena, produsul a dou numere complexe i s calculeze modulul unui numr complex. Numerele complexe vor denite cu ajutorul unei structuri cu dou cmpuri: real i complex. Operaiile vor efectuate prin intermediul unor funcii corespunztoare. 2. S se introduc o list de studeni folosind o structur student cu urmtoarele cmpuri: nume, prenume, data_n (=data naterii, care de asemenea este o structur), dou cmpuri cu note, un camp cu media calculat din cele dou note. Data va o structur cu trei cmpuri: zi,luna, an. (a) Sortai lista descresctor dup medie. (b) Sortai lista cresctor dup nume. n ambele cazuri aai lista frumos ntr-un tabel.