Laborator 1
Probleme propuse
1. Să se realizeze un program pentru o agendă telefonică permiţând gestionarea unor persoane, a adreselor lor şi a numerelor de telefon. Operaţiile care vor fi realizate sunt:
-adaugarea unei persoane;
-eliminarea unei persoane;
-căutarea numărului de telefon al unei persoane;
-căutarea numelui unei persoane al cărei număr de telefon se cunoaşte;
-ordonare alfabetică;
-listarea persoanelor într-un fişier text.
I. Aplicaţii rezolvate
Aplicaţia 1
Fiind date n paralelipipede dreptunghice reţinute în nodurile unei liste simplu înlănţuite, să se scrie un program care afişează o listă cu volumele celor n paralelipipede dreptunghice şi determină câte din cele n paralelipipede dreptunghice sunt cuburi. Pentru fiecare paralelipiped dreptunghic se cunosc: lungimea, lăţimea şi înalţimea paralelipipedului.
Programul corespunzător problemei este:
#include<iostream.h>
struct paraleliped
{ int lung,lat,h;
};
struct nod
{ paraleliped d;
nod* leg;
};
int vida(nod* p){return p==NULL;}
nod* init(){ return NULL; }
nod* adaugare(nod* p,paraleliped a)
{nod* n=new nod;
nod* q;
n->d=a;
n->leg=NULL;
if(vida(p)) p=n;
else { q=p;
while(q->leg!=NULL)q=q->leg;
q->leg=n;
}
return p;
}
void afisareV(nod* p)
{ nod* n=p;
double vol;
if (vida(p))
cout<<"nNu exista paralelipipede dreptunghicen";
else { cout<<"nParalelipipedele dreptunghice: ";
while (n!=NULL)
{ vol=n->d.lung*n->d.lat*n->d.h;
cout<<endl<<" Lungime: "<<n->d.lung<<"Latime: ";
cout<<n->d.lat<<" Inaltime: "<<n->d.h;
cout<<" Vol="<<vol;
n=n->leg;
}
cout<<endl;
}
}
void pdrept(nod* p)
{nod* n=p;
int nr=0;
if (vida(p))
cout<<"nNu exista paralelipipede dreptunghicen";
else { while(n!=NULL)
{ if(n->d.lung==n->d.lat && n->d.lat==n->d.h)
nr=nr++;
n=n->leg;
}
if(nr==0)
cout<<"nNu exista paralelipipede drept care sunt si cuburi ";
else
cout<<"nNr de paralelip drept care sunt si cuburi este:"<<nr;
}
}
void main()
{ nod* prim;
int i,n;
paraleliped d;
cout<<"nDati nr de paralelipipede dreptunghice: ";
cin>>n;
prim=init();
for(i=1;i<=n;i++)
{ cout<<"nParalelipipedul "<<i;
cout<<" are urmatoarele date: n";
cout<<"Lungimea = ";
cin>>d.lung;
cout<<"Latimea = ";
cin>>d.lat;
cout<<"Inaltimea = ";
cin>>d.h;
prim=adaugare(prim,d);
}
afisareV(prim);
pdrept(prim);
}
ACESTE LABORATOARE S-AU FACUT LA PROFILUL DE INFOMATICA INDUSTRIALA DIN CADRUL FACULTATII DE INGINERIE HUNEDOARA
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.