Professional Documents
Culture Documents
Pomana
Pomana
};
void add(mobila *v,int n){
cout << endl<<"Dati ID: ";
cin >> v[n].IDnrinventar;
cout << "Dati denumirea ";
cin >> v[n].denumire;
cout << "Dati materialul: ";
cin >> v[n].material;
cout << "Dati inaltimea; ";
cin>> v[n].inaltime;
cout << "Dati latimea: ";
cin >> v[n].latime;
cout << "Dati adancimea: ";
cin >> v[n].adancime;
cout << "Dati pretul: ";
cin >> v[n].pret;
cout << "Dati stocul : ";
cin >> v[n].stoc;
if (p1.pret == p2.pret)
{
return (p1.stoc - p2.stoc);
}
else
return (p1.pret - p2.pret);
}
int main()
{
int n;
mobila * v= new mobila[n];
ifstream fi("text.txt");
if (!fi){ cout<<"eroare";
return -1;}
fi>>n;
for(int i=0;i<n;i++){
fi>>v[i].IDnrinventar>>v[i].denumire>>v[i].material>>v[i].inaltime>>v[i].latime>>v[
i].adancime>>v[i].pret>>v[i].stoc;
cout<<"\nID:"<<v[i].IDnrinventar<<"\nDenumire:"<<v[i].denumire<<"\
nMaterial:"<<v[i].material<<"\nInaltime:"<<v[i].inaltime<<"\
nLatime:"<<v[i].latime<<"\nAdancime:"<<v[i].adancime<<"\nPret:"<<v[i].pret<<"\
nStoc:"<<v[i].stoc<<endl;
}
add(v,n);
cout<<"\nIntregul vector dupa adaugare a un nou element:\n";
for(int i=0;i<=n;i++){
cout<<"\nID:"<<v[i].IDnrinventar<<"\nDenumire:"<<v[i].denumire<<"\
nMaterial:"<<v[i].material<<"\nInaltime:"<<v[i].inaltime<<"\
nLatime:"<<v[i].latime<<"\nAdancime:"<<v[i].adancime<<"\nPret:"<<v[i].pret<<"\
nStoc:"<<v[i].stoc<<endl;
}
int id;
cout<<"introduceti id de modificat:";
cin>>id;
update(v,n,id);
for(int i=0;i<=n;i++){
cout<<"\nID:"<<v[i].IDnrinventar<<"\nDenumire:"<<v[i].denumire<<"\
nMaterial:"<<v[i].material<<"\nInaltime:"<<v[i].inaltime<<"\
nLatime:"<<v[i].latime<<"\nAdancime:"<<v[i].adancime<<"\nPret:"<<v[i].pret<<"\
nStoc:"<<v[i].stoc<<endl;
int m;
cin>>m;
cout<<"top"<<m<< "preturi";
for(int i=n;i>n-m;i--){
cout<<"\nID:"<<v[i].IDnrinventar<<"\nDenumire:"<<v[i].denumire<<"\
nMaterial:"<<v[i].material<<"\nInaltime:"<<v[i].inaltime<<"\
nLatime:"<<v[i].latime<<"\nAdancime:"<<v[i].adancime<<"\nPret:"<<v[i].pret<<"\
nStoc:"<<v[i].stoc<<endl;
return 0;
}
//4
int k, i,n,cnt1,cnt2;
int *v;
void init() {
v[k] = 0;
}
bool am_succesor() {
if (v[k] < 2) {
++v[k];
return true;
}
else return false;
}
bool solutie() {
if (k == n - 1) {
cnt1=0;
cnt2=0;
for(int i=0;i<n;i++)
{
if(v[i]==1) cnt1++;
else if (v[i]==2)cnt2++;
}
if(cnt1==cnt2) return true;
else return false;
//return true;
}
else return false;
}
void tipar() {
for (i = 0; i < n; i++) {
if(v[i]==1) cout<<"(";
else cout<<")";
}
cout << endl;
}
bool e_valid() {
if(v[k]==2){
cnt1=0;
cnt2=0;
for(int i=0;i<k;i++){
if(v[i]==1) cnt1++;
else cnt2++;
}
if(cnt1<=cnt2) return false;
}
return true;
}
void back() {
k = 0;
init();
bool AS;
while (k >= 0) {
do {
AS = am_succesor();
}while (AS && !e_valid());
if (AS) {
if (solutie()) tipar();
else if(k<n-1){ //!!
++k;
init();
}
}
else k--;
}
}
int main() {
redo: cout << "Nr Elemente vector: ";
cin >> n;
if(n%2==1) goto redo;
v = new int[n];
back();
return 0;
}