Structuri


 * 1) Se  citesc  data   naşterii  unei  persoane  si  data  curenta, sub forma zz, ll, aaaa . Să se  determine  vârsta  in  ani  împliniți  a persoanei  respective. Exemplu ziua nasterii: 18, luna nasterii: 11, anul nasterii: 1985, ziua curenta:01, luna curenta:10, anul curent: 2013. Varsta: 27 de ani.
 * 2) Să se scrie un program care citește de la tastatură coordonatele a două dreptunghiuri (colțurile opuse), ce au laturile paralele cu axele de coordonate și care determină dacă intersecția lor este vidă. În caz contrar să se determine coordonatele dreptunghiului ce rezultă prin intersectare lor.
 * 3) Cunoscându-se coeficienţii a n (n<=1000) numere complexe, sa se afişeze modulele si conjugatele lor. Indicație: se va defini o structură complex, cu două câmpuri de tip real. Structura va fi utilizată ca tip de bază pentru un vector în care vor fi citite datele de intrare, sub forma x[i].re, respectiv x[i].im.
 * 4) Se citesc numele a n(n<=100)  ţări  însoţite  de  culorile  drapelelor  lor(3) . Se  citeşte  apoi de la  tastatură o anumită  culoare.  Se  cere  listarea  ţărilor  care  au  acea  culoare  în  componenţa  drapelului. Indicație: se va defini o structură, țară, cu 4 câmpuri de tip șir de caractere. Structura va fi folosită ca tip de bază pentru declararea unui vector în care vor fi memoratele datele celor n țări. Compararea dintre două șiruri de caractere se face cu ajutorul funcției strcmp.
 * 5) Se  introduc  de  la  tastatură  mediile  generale și numele elevilor  dintr-o  clasă.  Să  se     afişeze  clasamentul  la  învăţătură  al  elevilor  şi  mediile  lor  în  ordine  descrescătoare,  marcând cu „*” elevii  cu medii până la 6 (exclusiv), cu două steluţe elevii cu medii între 6 şi 9 (inclusiv) şi cu trei steluţe pe cei cu medii peste 9.
 * 6) Pentru fiecare luna a anului se citește un șir de valori termice înregistrate in luna respectiva (numărul de valori nu depășește 100, nefiind neapărat același pentru toate lunile). Sa se afișeze alfabetic numele lunilor care au toate temperaturile înregistrate aflate intre doua valori termice date. Programul trebuie sa permită introducerea repetata a celor doua valori limita.
 * 7) Se dă un vector cu maxim n elemente ( 1<=n<=100 ). Fără a folosi tablouri suplimentare şi fără  a modifica poziţia elementelor în tablou, să se listeze elementele din vector în ordine crescătoare,apoi descrescătoare. Indicaţie : Fiecare element al vectorului este o înregistrare cu doua câmpuri, unul este elementul propriu-zis, celălalt este indicele elementului în şirul ordonat (iniţial indicele elementului al I-lea este I).
 * 8) Un candidat la un concurs de admitere poate opta pentru unul dintre cele 3 profiluri de clase existente (A,B sau C) şi obţine o notă calculată ca medie a mai multor probe(număr real între 0 şi 10) .El a optat pentru toate cele 3 profiluri într-o anumită ordine. Repartizarea candidaţiilor se face în ordinea mediilor, la profilul la care au optat sau la profilurile următoare, în ordine, dacă la cel curent nu mai sunt locuri.  Cunoscându-se numărul de locuri aprobate pentru fiecare profil, numărul de candidaţi şi, pentru fiecare candidat,  numele,  opțiunile şi media, să se afişeze numele candidaţilor şi profilul la care au fost admişi.  Datele vor fi preluate din fișierul date.in, care conține pe prima linie nA, nB, nC(numarul locurilor disponibile la fiecare profil) si n, numărul de elevi, iar pe următoarele 3*n linii datele elevilor, sub forma:, ,.
 * 9) Se dau n oraşe ( 1   n    20 ) împreună cu coordonatele lor (latitudinea  sud/nord, longitudine est/vest ). Fiind nominalizat un oraş de la tastatură, să se determine cel mai apropiat oraş de acesta.
 * 10) Se  citesc  de   la  tastatura  n  perechi  de  numere   reale   reprezentând   puncte  din  plan  (în  ordinea  abscisă, ordonată). Scrieţi  un  program  care  să  determine  măsura  celui  mai  mare  segment  având  ca  extremităţi  două  dintre  punctele  date.
 * 11) Se  citesc  de   la  tastatura  n  perechi  de  numere   reale   reprezentând   puncte  din  plan  (în  ordinea  abscisă, ordonată). Scrieţi  un  program  care  să  determine  măsura  celui  mai  mare  segment  având  ca  extremităţi  două  dintre  punctele  date.
 * 12) Se dau n oraşe ( 1   n    20 ) împreună cu coordonatele lor (latitudinea  sud/nord, longitudine Est/vest ). Fiind nominalizat un oraş de la tastatură, să se determine cel mai apropiat oraş de acesta.
 * 13) Se dă un vector cu maxim n elemente ( 1   n   100 ). Fără a folosi tablouri suplimentare şi fără  a modifica poziţia elementelor în tablou, să se listeze elementele din vector în ordine crescătoare,apoi descrescătoare. Indicaţie : Fiecare element al vectorului este o înregistrare cu doua câmpuri, unul este elementul propriu-zis, celălalt este indicele elementului în şirul ordonat (iniţial indicele elementului al I-lea este I).