Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 29

Structuri de date

-Neomogene si Imbricate-

#include <iostream>
#include <string.h>
using namespace std;
struct melodie{
char nume[30],autor[20],tara[20];
int loc_top,an_top;
}m[200],aux;
void citire(int n)
{
for(int i=1;i<=n;i++)
{
cin>>m[i].nume;
cin>>m[i].autor;
cin>>m[i].tara;
cin>>m[i].loc_top;
cin>>m[i].an_top;
}
}
void top(int n)
{
for(int i=1;i<=n;i++)
if(strcmp(m[i].tara,"Romania")==0 && m[i].loc_top<=3 &&
m[i].an_top==2018)
cout<<"Melodia din top 3 din anul 2018 : "<<m[i].nume<<endl;
}

36 | P a g e
void ordonare(int n)
{
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(strcmp(m[i].nume,m[j].nume)>0)
{
aux=m[i];
m[i]=m[j];
m[j]=aux;
}
cout<<"Melodiile ordonate alfabetic sunt : ";
for(int i=1;i<=n;i++)
cout<<m[i].nume<<" ";
cout<<endl;
}
void tara(int n)
{
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(strcmp(m[i].tara,m[j].tara)>0)
{
aux=m[i];
m[i]=m[j];
m[j]=aux;
}
else
if(strcmp(m[i].tara,m[j].tara)==0)
if(m[i].loc_top>m[j].loc_top){
aux=m[i];
m[i]=m[j];
m[j]=aux;}
cout<<"Melodiile ordonate alfabetic in functie de tara sunt : ";
for(int i=1;i<=n;i++)
cout<<m[i].nume<<" ";
cout<<endl;
}
int main()
{ int n;
cout<<"Nr melodii : ";cin>>n;
citire(n);
top(n);
ordonare(n);
tara(n);

37 | P a g e
}

#include <iostream>
#include <string.h>
using namespace std;
struct medalie{
char nume[20],judet[30],nume_medalie[10];
int an;
}sp[500];
void citire (int n)
{
for(int i=1;i<=n;i++)
{
cout<<"Nume : ";cin>>sp[i].nume;
cout<<"Judet : ";cin>>sp[i].judet;
cout<<"Medalia : ";cin>>sp[i].nume_medalie;
cout<<"An : ";cin>>sp[i].an;
}
}
void medalii(int n)
{
int ar=0,au=0,br=0;
for(int i=1;i<=n;i++)
if(strcmp(sp[i].judet,"Iasi")==0 && sp[i].an==2019)
if(strcmp(sp[i].nume_medalie,"aur")==0)
au++;
else if(strcmp(sp[i].nume_medalie,"argint")==0)
ar++;
else if(strcmp(sp[i].nume_medalie,"bronz")==0)
br++;
cout<<au<<" atleti din iasi au obtinut medalia de aur in 2019"<<endl;
cout<<ar<<" atleti din iasi au obtinut medalia de argint in 2019"<<endl;
cout<<br<<" atleti din iasi au obtinut medalia de bronz in 2019"<<endl;
}

38 | P a g e
int main()
{
int n;
cout<<"Numar sportivi : ";cin>>n;
citire(n);
medalii(n);
}

#include <iostream>
#include <string.h>
using namespace std;
struct Data{
int zi, luna, an;
};
struct Consultatie{
char pacient[21], cabinet[41];
Data data_cons;
}c[100];
void citire(int &n)
{
cout<<"numarul pacientilor:";cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"numele:";cin>>c[i].pacient;
cout<<"cabinetul:";cin>>c[i].cabinet;
cout<<"datacons:";cin>>c[i].data_cons.zi>>c[i].data_cons.luna>>c[i].data_cons.an;
}
}

39 | P a g e
void stomatologie(int &n)
{
int k=0;
for(int i=1;i<=n;i++)
{

if(c[i].data_cons.zi==19&&c[i].data_cons.luna==8&&c[i].data_cons.an==2019&&strc
mp(c[i].cabinet,"stomatologie")==0)
{cout<<c[i].pacient<<" "<<c[i].cabinet<<" "<<c[i].data_cons.zi<<"
"<<c[i].data_cons.luna<<" "<<c[i].data_cons.an<<endl;
k++;
}
}
if(k!=0)
cout<<k<<endl;
else
cout<<"nu exista"<<endl;
}
int main()
{
int n;
cout<<"numarul pacientilor:";cin>>n;
citire(n);
stomatologie(n);
return 0;
}

40 | P a g e
#include <iostream>
#include <string.h>
using namespace std;
struct data
{
int zi,luna,an;
};
struct excursie
{
char nume[30],oras[40],tara[30];
data data_exc;
}e[300];
char numed[30];
void Citire(int &n)
{
cin>>n;
for(int i=1;i<=n;i++)

cin>>e[i].nume>>e[i].oras>>e[i].tara>>e[i].data_exc.zi>>e[i].data_exc.luna>>e[i].data
_exc.an;
}
int main()
{
int m,k=0;
Citire(m);
cin>>numed;
for(int i=1;i<=m;i++)
if(strcmp(numed,e[i].nume)==0)
{
cout<<e[i].tara<<" "<<e[i].oras<<" "<<e[i].data_exc.zi<<"
"<<e[i].data_exc.luna<<" "<<e[i].data_exc.an<<endl;
k++;
}
if(k==0)
cout<<"Nicio excursie"<<endl;
return 0;}

41 | P a g e
#include <iostream>
#include<string.h>
using namespace std;
struct angajat {
char nume[30],functie[20],departament[30];
int salariu_baza,ora_sp,nr_ore_sp,total_sporuri,salariu_obt;
}a[300];
void citire(int n)
{
for(int i=1;i<=n;i++)
{
cin>>a[i].nume;
cin>>a[i].functie;
cin>>a[i].departament;
cin>>a[i].salariu_baza;
cin>>a[i].ora_sp;
cin>>a[i].nr_ore_sp;
cin>>a[i].total_sporuri;
}
}
void salariu_obt(int n)
{
int s;
for (int i=1;i<=n;i++)
{
a[i].salariu_obt=a[i].salariu_baza+a[i].total_sporuri+a[i].nr_ore_sp*a[i].ora_sp;
cout<<a[i].nume<<" a optinut salariul de : "<<a[i].salariu_obt<<endl;

42 | P a g e
}
}
void maxim (int n)
{
int max=0;
for(int i=1;i<=n;i++)
{
if(strcmp(a[i].departament,"productie")==0)
if(max<a[i].salariu_obt)
max=a[i].salariu_obt;
}
if(max==0)
cout<<"Nu exista angajati in departamentul de productie ."<<endl;
else
cout<<"Salariul maxim la productie este : "<<max<<endl;
}
void ore(int n)
{
int k=0;
for(int i=1;i<=n;i++)
if(strcmp(a[i].departament,"marketing")==0)
k=k+a[i].nr_ore_sp;
cout<<k<<" ore suplimentare au fost efectuate de angajatii de la
marketing."<<endl;
}
int main()
{
int n;
cout<<"Nr angajati : ";cin>>n;
citire(n);
salariu_obt(n);
maxim(n);
ore(n);
}

43 | P a g e
#include <iostream>
#include <string.h>
using namespace std;
struct student {
char nume[20],grupa[10],bursa[3];
int an_studiu,nr_credite;
}st[300];
void citire (int n)
{
for(int i=1;i<=n;i++)
{
cout<<"Numele : ";cin>>st[i].nume;
cout<<"Grupa : ";cin>>st[i].grupa;
cout<<"An studiu : ";cin>>st[i].an_studiu;
cout<<"Numar credite : ";cin>>st[i].nr_credite;
}
}
void bursa (int n)
{
for(int i=1;i<=n;i++)
if(st[i].nr_credite>=30)
strcpy(st[i].bursa,"Da");
else
strcpy(st[i].bursa,"Nu");
for(int i=1;i<=n;i++)
if(strcmp(st[i].bursa,"Da")==0)
cout<<st[i].nume<<" "<<st[i].an_studiu<<" "<<st[i].grupa<<endl;
}
int main()
{
int n;
cout<<"Numar studenti : ";cin>>n;
44 | P a g e
citire(n);
bursa(n);
}

#include <iostream>
#include <cstring>
using namespace std;
struct examinare
{
char tip_examinare[10], disciplina[20];
int nr_credite;
};
struct student
{
char nume[20], grupa[10];
examinare e[10];
int an_studiu, nr_total_credite, nr_discipline;
} st[200];
void citire (int &n, student st[])
{
cin>>n;
for(int i=0;i<n;i++)
{ cin>>st[i].nume>>st[i].grupa>>st[i].an_studiu;
cin>>st[i].nr_discipline;
st[i].nr_total_credite = 0;
for(int j=0;j<st[i].nr_discipline;j++)

45 | P a g e
{ cin>>st[i].e[j].tip_examinare>>st[i].e[j].disciplina>>st[i].e[j].nr_credite;
st[i].nr_total_credite = st[i].nr_total_credite + st[i].e[j].nr_credite;
}
}
}
void proiecte (int n, student st[])
{
int k = 0;
cout<<"studentii cu credite la proiecte:"<<endl;
for(int i=0;i<n;i++)
for(int j=0;j<st[i].nr_discipline;j++)
if(strcmp(st[i].e[j].tip_examinare,
"proiect")==0&&st[i].e[j].nr_credite>0)
{ cout<<st[i].nume<<" "<<st[i].an_studiu<<" "<<st[i].grupa<<"
"<<st[i].e[j].disciplina<<endl;
k = 1; }
if(k==0)
cout<<"niciun elev"<<endl<<endl;
}
int maxim (int n, student st[])
{
int max = st[0].nr_total_credite, k = 0;
for(int i=1;i<n;i++)
if (max<st[i].nr_total_credite)
max = st[i].nr_total_credite;
for(int i=0;i<n;i++)
if(max==st[i].nr_total_credite)
k++;
return k;
}
int main()
{
int n;
citire(n, st);
proiecte(n, st);
cout<<"numarul total de credite de valoare maxima obtinut de
elevi="<<maxim(n, st)<<endl;
return 0;
}

46 | P a g e
#include <iostream>
#include <string.h>
using namespace std;
struct data {
int zi,luna,an;
};
struct spectacol {
char denumire[30],autor[20];
data data_sp;
int nr_bilete, pret;
}s[50];
void citire (int n) {
for (int i=1;i<=n;i++){
cout<<"Introduceti data spectacolului"<<endl;
cout<<"Ziua ";cin>>s[i].data_sp.zi;
cout<<"Luna ";cin>>s[i].data_sp.luna;
cout<<"Anul ";cin>>s[i].data_sp.an;
cout<<"Cum se numeste spectacolul? ";cin>>s[i].denumire;
cout<<"Cine este autorul? ";cin>>s[i].autor;
cout<<"Cate bilete s-au vandut? ";cin>>s[i].nr_bilete;
cout<<"Ce pret au biletele? ";cin>>s[i].pret;
}
}
void suma (int n) {
int sum=0;
for (int i=1;i<=n;i++) {
if (s[i].data_sp.luna==5&&s[i].data_sp.an==2019)

47 | P a g e
sum=sum+(s[i].nr_bilete*s[i].pret);
}
cout<<"In luna mai din anul 2019 suma incasata a fost "<<sum<<endl;
}
void caragiale (int n) {
cout<<"Spectacolele cu autorul I.L.Caragiale au fost pe datelele :"
for (int i=1;i<=n;i++) {
if (strcmp(s[i].autor,"I.L.Caragiale")==0)
cout<<s[i].data_sp.zi<<"/"<<s[i].data_sp.luna<<"/"<<s[i].data_sp.an<<endl;
}
}
int main () {
int n;
cout<<"Cate spectacole au avut loc? ";cin>>n;
citire (n);
suma(n);
caragiale(n);
}

#include <iostream>
#include <string.h>
using namespace std;
struct data {
int zi,luna,an;
};

48 | P a g e
struct conferinta {
char denumire[30],oras[20],tara[25],tematica[20];
data data_conf;
char nume[20],tip_inreg[20];
}c[100];
void citire (int n) {
for (int i=1;i<=n;i++) {
cout<<"Introduceti data conferintei"<<endl;
cout<<"Ziua ";cin>>c[i].data_conf.zi;
cout<<"Luna ";cin>>c[i].data_conf.luna;
cout<<"Anul ";cin>>c[i].data_conf.an;
cout<<"Cum se numeste conferinta? ";cin>>c[i].denumire;
cout<<"Ce tematica are conferinta? ";cin>>c[i].tematica;
cout<<"In ce oras se afla conferinta? ";cin>>c[i].oras;
cout<<"In ce tara se afla conferinta? ";cin>>c[i].tara;
cout<<"Cine a participat la conferinta? ";cin>>c[i].nume;
cout<<"Cum a fost inregistrat? lector/participant ";cin>>c[i].tip_inreg;
}
}
void nume (int n) {
for (int i=1;i<=n;i++)
if (strcmp(c[i].tip_inreg,"lector")==0 && c[i].data_conf.an==2019 &&
strcmp(c[i].tematica,"IT")==0 && (strcmp(c[i].tara,"Romania")==0 ||
strcmp(c[i].tara,"SUA")==0 || strcmp(c[i].tara,"Japonia")==0))
cout<<c[i].nume<<endl;
}
void apr (int n) {
int k=0;
for (int i=1;i<=n;i++)
if (c[i].data_conf.luna==4 && c[i].data_conf.an==2019 &&
strcmp(c[i].oras,"Iasi")==0 && strcmp(c[i].tematica,"medicina")==0) {
cout<<c[i].nume<<endl;
k++;
}
cout<<"In total au fost "<<k<<endl;
}
int main () {
int n;
cout<<"Cate conferinte ? ";cin>>n;
citire(n);
nume(n);
apr(n);
}

49 | P a g e
MODULAR
#include <iostream>
#include <string.h>
using namespace std;
struct automobil{
int nr_locuri,cp,an_fab;
char marca[21],culoare[21];
};
automobil v[101],a[101];
int n,an,j=0;
char raspuns[21],marca_m[21];
void Citire(){
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>v[i].nr_locuri>>v[i].cp>>v[i].marca>>v[i].culoare>>v[i].an_fab;
if(v[i].nr_locuri==5)
cout<<v[i].marca<<" "<<v[i].an_fab<<" "<<v[i].cp<<" "<<v[i].nr_locuri<<"
"<<v[i].culoare<<endl;
}
}
void Ordonare()
{
automobil aux;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
{
if(v[i].cp>v[j].cp)
{
aux=v[i];
v[i]=v[j];

50 | P a g e
v[j]=aux;
}
}
for(int i=1;i<=n;i++)
cout<<v[i].marca<<" "<<v[i].an_fab<<" "<<v[i].cp<<" "<<v[i].nr_locuri<<"
"<<v[i].culoare<<endl;
}
void Afisare()
{
for(int i=1;i<=n;i++)
if(v[i].an_fab==an)
cout<<v[i].marca<<" "<<v[i].an_fab<<" "<<v[i].cp<<" "<<v[i].nr_locuri<<"
"<<v[i].culoare<<endl;
}
void Inchiriere()
{
//int j=0;
cout<<"Doriti inchirierea unui automobil?"<<endl;
cin>>raspuns;
while(strcmp(raspuns,"da")==0)
{
cout<<"Introduceti marca:"<<endl;
cin>>marca_m;
for(int i=1;i<=n;i++)
if(strcmp(v[i].marca,marca_m)==0)
{
j++;
a[j]=v[i];
}
cout<<"Doriti inchirierea unui automobil?"<<endl;
cin>>raspuns;
}
cout<<"Automobile inchiriate:"<<endl;
for(int i=1;i<=j;i++)
cout<<a[i].marca<<" "<<a[i].an_fab<<" "<<a[i].cp<<" "<<a[i].nr_locuri<<"
"<<a[i].culoare<<endl;
}
void Returnare()
{
cout<<"Doriti sa returnati un automobil inchiriat?"<<endl;
cin>>raspuns;
while(strcmp(raspuns,"da")==0)
{

51 | P a g e
cout<<"Introduceti marca:"<<endl;
cin>>marca_m;
for(int i=1;i<=j;i++)
if(strcmp(a[i].marca,marca_m)==0)
{
for(int l=i;l<=j-1;l++)
a[l]=a[l+1];
j--;
}
cout<<"Doriti sa returnati un automobil inchiriat?"<<endl;
cin>>raspuns;
}
cout<<"Automobile inchiriate dupa returnare:"<<endl;
for(int i=1;i<=j;i++)
cout<<a[i].marca<<" "<<a[i].an_fab<<" "<<a[i].cp<<" "<<a[i].nr_locuri<<"
"<<a[i].culoare<<endl;
}
void Cumparare()
{
int ok;
cout<<"Doriti sa cumparati un automobil?"<<endl;
cin>>raspuns;
while(strcmp(raspuns,"da")==0)
{
ok=0;
cout<<"Introduceti marca:"<<endl;
cin>>marca_m;
for(int i=1;i<=j && ok==0;i++)
if(strcmp(a[i].marca,marca_m)==0)
ok=1;
if(ok==1)
cout<<"Masina este inchiriata deja, introduceti alta marca"<<endl;
else{
for(int i=1;i<=n;i++)
if(strcmp(v[i].marca,marca_m)==0)
{
for(int l=i;l<=n-1;l++)
v[l]=v[l+1];
n--;
}
}
cout<<"Doriti sa cumparati un automobil?"<<endl;
cin>>raspuns;

52 | P a g e
}
for(int i=1;i<=n;i++)
for(int l=1;l<=j;l++)
if(strcmp(v[i].marca,a[l].marca)==0)
{
for(int p=i;p<=n-1;p++)
v[p]=v[p+1];
n--; }
cout<<"Automobile ramase dupa inchiriere si cumparare"<<endl;
for(int i=1;i<=n;i++)
cout<<v[i].marca<<" "<<v[i].an_fab<<" "<<v[i].cp<<" "<<v[i].nr_locuri<<"
"<<v[i].culoare<<endl;
}
int main()
{
cout<<"Automobile cu 5 locuri:"<<endl;
Citire();
cout<<"Automobile ordonate crescator in functie de putere:"<<endl;
Ordonare();
cin>>an;
cout<<"Automobile fabricate in anul "<<an<<":"<<endl;
Afisare();
Inchiriere();
Returnare();
Cumparare();
return 0;
}

#include<iostream>
#include<string.h>
using namespace std;
NORMAL

53 | P a g e
struct Masini{
char marca[21], culoare[21];
int locuri,an;
double putere;
} v[100],aux,a[100];
int main ()
{
int n,i,j,x,k=0;
char xmarca[10],raspuns[3];
cout<<"Numar masini : ";cin>>n;
for (i=1;i<=n;i++)
cin>>v[i].marca>>v[i].culoare>>v[i].locuri>>v[i].an>>v[i].putere;
cout<<"Masinile cu 5 locuri sunt : ";
for (i=1;i<=n;i++)
if (v[i].locuri==5)
cout<<v[i].marca<<" ";
cout<<endl;
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++)
if (v[i].putere>v[j].putere)
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
cout<<"Masinile ordonate in functie de putere sunt : ";
for(i=1;i<=n;i++)
cout<<v[i].marca<<" ";
cout<<endl;
cout<<"Sa se afiseze masinile fabricate in anul : ";cin>>x;
for(i=1;i<=n;i++)
if(v[i].an==x)
{
k=1;
cout<<v[i].marca<<" ";
}
if(k==0)
cout<<"Nu exista masini fabricate in anul "<<x;
cout<<endl;
cout<<"Doriti sa inchiriati o masina?"<<endl;
cout<<"Da/Nu"<<endl;
cin.get();
cin.get(raspuns,10);

54 | P a g e
k=0;
while (strcmp(raspuns,"Da")==0)
{
k++;
if (strcmp(raspuns,"Da")==0)
{
cout<<"Ce marca doriti sa inchiriati?"<<endl;
cin.get();
cin.get(xmarca,10);
for (i=1;i<=n;i++)
if (strcmp(xmarca,v[i].marca)==0)
a[k]=v[i];
}
cout<<"Doriti sa inchiriati alta masina? "<<endl;
cin.get();
cin.get(raspuns,10);
}
cout<<"Doriti sa returnati o masina?"<<endl;
cout<<"Da/Nu"<<endl;
cin.get();
cin.get(raspuns,10);
j=0;
while (strcmp(raspuns,"Da")==0)
{
if (strcmp(raspuns,"Da")==0)
{
cout<<"Ce marca doriti sa returnati?"<<endl;
cin.get();
cin.get(xmarca,10);
for (i=1;i<=k;i++)
if (strcmp(xmarca,a[i].marca)==0)
for (int q=i;q<=k;q++)
a[q]=a[q+1];
}
cout<<"Doriti sa returnati alta masina? "<<endl;
cin.get();
cin.get(raspuns,10);
}
cout<<"Acestea sunt masinile inchiriate la momentul actual"<<endl;
for (int i=1;i<=k;i++)
cout<<a[i].marca<<" ";
cout<<endl;
cout<<"Doriti sa cumparati o masina?"<<endl;

55 | P a g e
cout<<"Da/Nu"<<endl;
cin.get();
cin.get(raspuns,10);
int t=0;
while (strcmp(raspuns,"Da")==0)
{
if (strcmp(raspuns,"Da")==0)
{
t++;
cout<<"Ce marca doriti sa cumparati?"<<endl;
cin.get();
cin.get(xmarca,10);
for (int i=1;i<=3;i++)
if (strcmp(xmarca,v[i].marca)==0)
for (int q=i;q<=3;q++)
v[q]=v[q+1];
}
cout<<"Doriti sa cumparati alta masina? "<<endl;
cin.get();
cin.get(raspuns,10);
}
cout<<"Masinile pe stoc acum sunt: "<<endl;
for (int i=1;i<=n-t;i++)
cout<<v[i].marca<<" ";
}

#include<iostream>

56 | P a g e
#include<string.h>
#include<fstream>
using namespace std;
ifstream f ("fisier.txt");
ofstream g ("fisier1.txt");
struct agenda {
int nr;
char nume[20];
}v[10];
void citire (int n) {
for (int i=1;i<=n;i++)
f>>v[i].nr>>v[i].nume;
}
void cautare (int n) {
cout<<"Numarul carei persoane cautati? ";
char numepers[20];
cin>>numepers;
for (int i=1;i<=n;i++)
if (strcmp(numepers,v[i].nume)==0) {
g<<"Numarul acestei persoane este "<<v[i].nr;
break;
}
else {
g<<"Persoana nu a fost gasita";
break;
}
}
int main () {
int n;
f>>n;
citire (n);
cautare(n);
}

57 | P a g e
#include<iostream>
#include<cstring.h>
using namespace std;
struct calculatoare {
char procesor [20];
int frecventa,ram,harddisc;
}a[100],b[100],aux;
void citire (int n)
{
for(int i=1;i<=n;i++)
{
cout<<"Procesorul calculatorului : ";cin>>a[i].procesor;
cout<<"Frecventa calculatorului : ";cin>>a[i].frecventa;
cout<<"Ramii calculatorului : ";cin>>a[i].ram;
cout<<"Capacitatea harddiscului : ";cin>>a[i].harddisc;
}
}
void calculatoare(int n)
{
int j=1,m,maxf,maxr,maxc;
cout<<"Calculatoarele ce pot fi conectate intr-o retea sub un sistem de
operare sunt : ";
for(int i=1;i<=n;i++)
if(a[i].frecventa>=x && a[i].ram>=y && a[i].harddisc>=z)
{
cout<<a[i].procesor;
b[j]=a[i];
j++;
}
m=j-1;
for(i=1;i<m;i++)
for(j=i+1;j<=m;j++)
if(b[i].frecventa<b[j].frecventa)
{
aux=b[i];
b[i]=b[j];
b[j]=aux;
}
if(b[1].frecventa>b[2].frecventa)
cout<<"Serverul va fi : "<<b[i].procesor;
else
{
maxf=b[1].frecventa;

58 | P a g e
i=1;
maxr=b[1].ram;
while(maxf==b[i].frecventa && i<=m)
{
if(maxr==b[i].ram)
k=1;
if(maxr<b[i].ram)
{
k=0;
maxr=b[i].ram;
}
i++;
}
if(k==0)
for(i=1;i<=n && k==0;i++)
if(maxr==b[i].ram)
{
cout<<"Serverul va fi : "<<b[i].procesor;
k=2;
}
if(k==1)
{
i=1;
maxc=b[1].harddisc;
while(maxf==b[i].frecventa && i<=m)
{
if(maxc==b[i].harddisc)
k=1;
if(maxc<b[i].harddisc)
{
k=0;
maxr=b[i].harddisc;
}
i++;
}
}
for(i=1;i<=m;i++)
if(maxr=)
}
}
int main()
{
int n,x;

59 | P a g e
cout<<"Nr calculatoare : ";cin>>n;
citire(n);
cout<<"Frecventa minima : ";cin>>x;
cout<<"Memoria minima : ";cin>>y;
cout<<"Capacitatea minima : ";cin>>z;
}
Intr un depou de locomotive pot intra si iesi locomotivele,fiecare locomotiva este
caracterizata prin: nr de identificare,
greutate,viteza,si un nume care poate fi specifice unei zone ,
sa se simuleze intrarea si iesire unei locomotive in depou,
sa se afiseze locomotivele din depou in ordinea inversa a intrarii lor ,
sa se afiseze cate locomotive au numaru de identificare un nr impar,
cate locomotive au o greutate mai mare decat o greutate introdusa de la
tastatura ,
se citeste de la tastatura numele unei locomotive , sa se verfice daca aceasta se
gaseste in depou
se va afisa mesajul da sau mesajul nu in cazul in care nu se gaseste,
sa se afiseze toate locomotivele care au un nr de identificare un nr prim
sa se afiseze locomotivele ale caror nume incep si se termina cu o vocala
Se vor realiza functii pt fiecare cerinta

#include<iostream>
#include<cstring>
using namespace std;
struct locomotiva
{
char nume[21];
int nr_ident,viteza,greutate;
}v[100];

void adaugare(int &n,int v[])


{
if(n+1>100)
cout<<" Depoul este plin"<<endl;
else
{
n++;
cin.getline(v[n].nume,21);
cin>>v[n].nr_ident>>v[n].viteza>>v[n].greutate;
}
}
void stergere(int &n,int v[])
{

60 | P a g e
if(n==0)
cout<<"Depoul este gol"<<endl;
else n--;
}
void afisare (int n, int v[])
{
if(n==0)
cout<<"Depoul este gol"<<endl;
else
for(int i=n;i>=1;i--)
cout<<v[i].nume<<" "<<v[i].nr_ident<<" "<<v[i].greutate<<"
"<<v[i].viteza<<endl;
}
void impar (int &n,int v[],int &k)
{
for(int i=1;i<=n;i++)
{
if(v[i].nr_ident%2==1)
k++;
}
}
void greutate (int &n,int v[],int &g)
{
for(int i=1;i<=n;i++)
{
if(v[i].greutate>g)
cout<<v[i].nume<<" "<<v[i].greutate<<endl;
}
}

void gasire (int &n,int v[],int &l,int &j)


{
for(int i=1;i<=n;i++)
{
if(strcmp(v[i].nume,l))
j++;
}
if(j==1)
cout<<"Da"<<endl;
else
cout<<"Nu"<<endl;
}
void vocala (int &n,int v[])
{
61 | P a g e
for(int i=1;i<=n;i++)
{
char m=strlen(v[i].nume); } }
int main ()
{
int n,k=0,g=0,j=0,h;
char l;
cin.getline(l,21);
do
{
cout<<" apasati 1 pt adaugare"<<endl;
cout<<" apasati 2 pt stergere"<<endl;
cout<<" apasati 3 pt afisare"<<endl;
cout<<" apasati 4 pt impar"<<endl;
cout<<" apasati 5 pt gasire"<<endl;
cout<<" apasati 6 pt greutate"<<endl;
switch (h)
case 1:
adaugare(n,v)
break;
case 2:
stergere (n,v)
break;
case 3:
afisare(n,v)
break;
case 4:
impar(n,v,k)
break;
case 5:
gasire(n,v,l,j)
break;
case 6:
greutate(n,v,g)
break;
}
while(h<=6);
return 0;

62 | P a g e
#include <iostream>
using namespace std;
struct Punct{
float x,y;
};
struct Cerc {
float r;
Punct c;
}a,b;
void Citire()
{
cout<<"Primul cerc : ";cin>>a.r>>a.c.x>>a.c.y;
cout<<"Al doilea cerc : ";cin>>b.r>>b.c.x>>b.c.y;
}
void Concentrice ()
{
if(a.c.x==b.c.x && a.c.y==b.c.y && a.r!=b.r)
cout<<"Cercurile sunt concentrice "<<endl;
else
cout<<"Cercurile nu sunt concentrice "<<endl;
if(a.c.x==b.c.x && a.c.y==b.c.y && a.r==b.r)
cout<<"Cercurile sunt aceleasi cercuri"<<endl;
}
void Lungime()
{
float l;
l=2*3.14*a.r;
cout<<"Lungimea cercului a este : "<<l<<endl;
}
void Diametru ()
{
float d;
d=2*a.r;
cout<<"Diametrul cercului a este : "<<d<<endl;
}

63 | P a g e
void Aria ()
{
float s;
s=3.14*a.r*a.r;
cout<<"Aria cercului a este : "<<s<<endl;
}
void Centrul()
{
if(a.c.x==0 && a.c.y==0)
cout<<"Centrul cercului a se afla in origine."<<endl;
else
cout<<"Centrul cercului a nu se afla in origine."<<endl;
}
void Originea()
{
if((0-a.c.x)*(0-a.c.x)+(0-a.c.y)*(0-a.c.y)<= a.r*a.r)
cout<<"Originea se gaseste in cerc."<<endl;
else
cout<<"Originea nu se gaseste in cerc."<<endl;
}
int main()
{
Citire();
Concentrice();
Lungime();
Diametru();
Aria();
Centrul();
Originea();
}

-Spiridon Vlad
-Surdu Gabriel

64 | P a g e

You might also like