Documente Academic
Documente Profesional
Documente Cultură
Laborator 1
Structuri de date
struct student
{
char nume[10], prenume[20];
struct
{
int luna,zi,an;
}data_n;
} a[30],p;
int n,i,j;
int main()
{
cout<<"numarul de studenti";cin>>n;
for(i=1;i<=n;i++)
{
cout<<"studentul "<<i<<": "<<endl;
cout<<"Nume:";
cin>>a[i].nume;
cout<<"Prenume:";
cin>>a[i].prenume;
cout<<"luna:";
cin>>a[i].data_n.luna;
cout<<"ziua:";
cin>>a[i].data_n.zi;
cout<<"anul";
cin>>a[i].data_n.an;
}
//ordonarea elementelor printr-o metoda de sortare – sortare prin interschimbare
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(strcmp(a[i].nume,a[j].nume)>0)
{
p=a[i];
a[i]=a[j];
a[j]=p;
}
else
if(strcmp(a[i].nume,a[j].nume)==0&&strcmp(a[i].prenume,a[j].prenume)>0)
1
Programare orientata pe obiecte – limbajele C++/Java
Laborator 1
{
p=a[i];
a[i]=a[j];
a[j]=p;
}
cout<<"Studentii ordonati:"<<endl;
for(i=1;i<=n;i++)
cout<<a[i].nume<<" "<<a[i].prenume<<endl;
}
#include<iostream.h>
struct student
{
char nume[10], prenume[20];
int nota;
} a[200], c;
int n, i, j, S;
int main()
{
cout<<"nr. de studenti:"<<endl;
cin>>n;
cout<<"Datele despre studenti:"<<endl;
for(i=1;i<=n;i++)
{
cout<<"Studentul "<<i<<": "<<endl;
cout<<"Nume:";
cin>>a[i].nume;
cout<<"prenume:";
cin>>a[i].prenume;
cout<<"Nota:";
cin>>a[i].nota;
S+=a[i].nota;
}
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(a[i].nota<a[j].nota)
{
c=a[i];
a[i]=a[j];
a[j]=c;
}
cout<<"afisarea studentilor promovati:"<<endl;
for(i=1;i<=n&&a[i].nota>=5;i++)
cout<<a[i].nume<<" "<<a[i].prenume<<" "<<a[i].nota<<" "<<endl;
cout<<"media notelor="<<S*1.0/n<<endl;
}
2
Programare orientata pe obiecte – limbajele C++/Java
Laborator 1
struct factor
{
long f;
int p;
}x[20];
long m;
int n,i;
int main()
{
cout<<"Introduceti numarul:";
cin>>m;
long a=2;
while(m!=1)
{
int q=0; //puterea la care apare a in descompunerea numarului m
while(m%a==0)
{m=m/a;
q++;}
if(q) {
n++;
x[n].f=a;
x[n].p=q;
}
if(a==2)a=3;
else a+=2;
}
cout<<"Descompunerea in factori primi:"<<endl;
for(i=1;i<=n;i++)
cout<<x[i].f<<"^"<<x[i].p<<endl;
}
3
Programare orientata pe obiecte – limbajele C++/Java
Laborator 1
1) Studentii dintr-o facultate vor să facă un top al celor mai bune 10 melodii pentru fiecare
săptămană. Ajutaţi-i să realizeze un program prin care se introduc n date de forma:
titlu melodie
interpret
număr puncte acumulate
număr puncte primite
şi care afişează primele 10 titluri, in ordinea descrescătoare a punctelor.
2) Dintr-un lot de n persoane care s-au inregistrat cu nume şi data naşterii, trebuie selectate acele
persoane care au implinit 18 ani la 1 ianuarie 2011.
Datele de intrare cuprind:
valoarea lui n
şi cele n perechi de date de forma nume dd mm yyyy
şi sunt conţinute de fişierul DATE.INT, iar datele de ieşire conţin numele cerute
afişate pe verticală pe ecran.
3) La o staţie meteo se trec datele in fişierul TEMP.INT sub forma data temperatura. Să se
prelucreze aceste date afişandu-se zilele in care temperatura a fost maximă.
4) Intr-o grupă de maxim 25 de studenti, fiecare a primit cate unul din calificativele suficient,
bine şi foarte bine la fiecare din cele 10 materii.
Datele se introduc in calculator sub forma:
nume student
număr de calificative suficient (s)
număr de calificative bine (b)
număr de calificative foarte bine (fb)
Să se afişeze in ordine descrescătoare statistica notării (numărul de suficient, de bine şi
foarte bine) şi numele studentului cu cele mai multe calificative fb.