Orar semigroup #2

Orar semigroup #2

5/4

Sa se verifice daca 2 stive sunt identice. Stivele se creeaza introducand numere pana la 0, in fiecare.

#include<iostream>
using namespace std;
struct nod{
    int info;
    nod *urm;};

void adaug(int x, nod* &vf)
{nod* p;
p=new nod;
p->info=x;
p->urm=vf;
vf=p;}

void afisare(nod* vf)
{while(vf!=NULL){
    cout<<vf->info<<" ";
    vf=vf->urm;}
}

int main()
{nod *vf1=NULL,*p,*vf2=NULL;
int x,s=0,i=0;

cin>>x;
while(x)
{adaug(x,vf1);
cin>>x;}
cin>>x;
while(x)
{adaug(x,vf2);
cin>>x;}

while(vf1!=NULL){
    if(vf1->info != vf2->info)
    {cout<<"NU"; return 0;}
    else
    vf1=vf1->urm;
    vf2=vf2->urm;}
cout<<"DA";
}

joi, 3 mai 2012 by DlMuresan
Categories: | Leave a comment

5/3

Se citesc numere din fişier într-o stivă. Să se afişeze stiva. Să se împartă stiva în două stive cu nr. egal de elemente. Dacă e nr. impar, să se şteargă elementul din mijloc.

#include<iostream>
#include<fstream>
using namespace std;
struct nod{
    int info;
    nod *urm;};

void adaug(int x, nod* &vf)
{nod* p;
p=new nod;
p->info=x;
p->urm=vf;
vf=p;}

void afisare(nod* vf)
{while(vf!=NULL){
    cout<<vf->info<<" ";
    vf=vf->urm;}
}

void separare(nod* vf, nod* &vf1)
{nod*p=vf;
int nr=0;
while(p)
{nr++;
p=p->urm;}
if(nr%2==0)
{p=vf;
for(int i=1;i<nr/2;i++)
    p=p->urm;
vf1=p->urm;
p->urm=NULL;}
else {p=vf;
for(int i=1;i<nr/2;i++)
    p=p->urm;
vf1=p->urm->urm;
nod*q=p->urm;
delete q;
p->urm=NULL;}
}

int main()
{nod *q,*vf=NULL,*p,*vf1;
int x,s=0,i=0;
ifstream f("date");
while(f>>x)
    adaug(x,vf);
//afisare(vf);

separare(vf,vf1);
afisare(vf);
cout<<endl;
afisare(vf1);
}

by DlMuresan
Categories: | Leave a comment

5/2 - Problema alocarea dinamica a memoriei

Doua variabile dinamice memoreaza DOB a doua persoane. Sa se afiseze persoana mai tanara.

#include<iostream>
using namespace std;
struct DOB{
    int a,l,z;
};

int main()
{DOB *p,*q;
p=new DOB;
q=new DOB;
cin>>(*p).a>>p->l>>p->z;
cin>>q->a>>q->l>>q->z;
if(p->a>q->a)
    cout<<"a doua persoana";
else if(p->a<q->a)
    cout<<"a doua persoana";
else if(p->l>q->l)
    cout<<"a doua persoana";
else if(p->l<q->l)
    cout<<"a doua persoana";
else if(p->z>q->z)
    cout<<"a doua persoana";
else if(p->z<q->z)
    cout<<"a doua persoana";
else cout<<"=";
delete p,q;
}
Se citesc nr de la tastatura pana la 0. Sa se creeze o stiva cu nr. Sa se afiseze stiva. Sa se afiseze suma el. Sa se afisee nr de el ale stivei. Sa se afiseze primele doua el din stiva. Sa se stearga stiva.
#include<iostream>
using namespace std;
struct nod{
    int info;
    nod *urm;};

void adaug(int x, nod* &vf)
{nod* p;
p=new nod;
p->info=x;
p->urm=vf;
vf=p;}

void afisare(nod* vf)
{while(vf!=NULL){
    cout<<vf->info<<" ";
    vf=vf->urm;}
}

int main()
{nod *vf=NULL,*p;
int x,s=0,i=0;
cin>>x;
while(x)
{adaug(x,vf);
cin>>x;}
afisare(vf);
p=vf;
while(vf!=NULL){
    s+=vf->info;
    vf=vf->urm;}
cout<<endl<<"Suma "<<s<<endl;
vf=p;
while(vf!=NULL){
    i++;
    vf=vf->urm;}
cout<<i<<" elemente in stiva"<<endl;
vf=p;
cout<<"Primele doua elemente din stiva ";
while(vf!=NULL){
    i--;
    if(i==1 || i==0)
        cout<<vf->info<<" ";
    vf=vf->urm;}
vf=p;
while(vf!=NULL)
{p=vf;
delete p;
vf=vf->urm;}
}

marți, 1 mai 2012 by DlMuresan
Categories: , , | Leave a comment

Pariu Sigur pe ziua de 3 Aprilie! Nu rataţi şansa unei cote sigure

Se joacă cu 330 de lei pentru a evita plata impozitului în cazul unui câştig >600 lei! Practic, pontul "înscrie Marseille" este sigur în proporţie de 95%. Cota este imensă!!!

luni, 2 aprilie 2012 by DlMuresan
Categories: | Leave a comment