Se citesc nr dintr-un fisier. Sa se creeze doua stive, una cu nr pare, alta cu nr impare. Sa se afiseze stivele. Sa se afiseze nr de elemente din fiecare stiva. Sa se adauge stiva elementelor pare la sfarsitul stivei celor impare.
#include<iostream>2 copii dau cu zarul. Aruncarile fiecaruia se memoreaza in cate o stiva. Fiecare da cu zarul pana arunca 6. Cel care are mai multe puncte castiga. Afisati:
#include<fstream>
using namespace std;
struct nod{
int info;
nod *urm;};
void afisare(nod* vf)
{if(vf==NULL)
cout<<"Stiva goala";
while(vf!=NULL){
cout<<vf->info<<" ";
vf=vf->urm;}
}
int nr_el(nod* vf)
{int i=0;
while(vf!=NULL)
{i++;
vf=vf->urm;}
return i;
}
void concat(nod* vf1, nod* vf2)
{nod*p=vf1;
while(p->urm != NULL)
p=p->urm;
p->urm=vf2;
}
void adaug(int x, nod* &vf)
{nod* p;
p=new nod;
p->info=x;
p->urm=vf;
vf=p;}
int main()
{nod *par=NULL,*impar=NULL;
ifstream f("date");
int x;
while(f>>x)
if(x%2==0)
adaug(x,par);
else adaug(x,impar);
afisare(par);
cout<<endl<<nr_el(par)<<" elemente";
cout<<endl<<endl;
afisare(impar);
cout<<endl<<nr_el(impar)<<" elemente";
cout<<endl<<endl;
concat(impar,par);
afisare(impar);
}
a) stiva fiecaruia
b) numarul de aruncari ale fiecaruia
c) castigatorul si punctele lui
#include<iostream>
#include<fstream>
using namespace std;
struct nod{
int info;
nod *urm;};
void afisare(nod* vf)
{if(vf==NULL)
cout<<"Stiva goala";
while(vf!=NULL){
cout<<vf->info<<" ";
vf=vf->urm;}
}
int suma(nod* vf)
{int i=0;
while(vf!=NULL)
{i+=vf->info;
vf=vf->urm;}
return i;
}
void adaug(int x, nod* &vf)
{nod* p;
p=new nod;
p->info=x;
p->urm=vf;
vf=p;}
int main()
{nod *vf1=NULL,*vf2=NULL;
ifstream f("date");
int x;
f>>x;
while(x!=6)
{ adaug(x,vf1);
f>>x;}
f>>x;
while(x!=6)
{adaug(x,vf2);
f>>x;}
afisare(vf1);
cout<<endl<<suma(vf1)<<" puncte";
cout<<endl<<endl;
afisare(vf2);
cout<<endl<<suma(vf2)<<" puncte";
cout<<endl<<endl;
if(suma(vf1)>suma(vf2))
cout<<"Copilul 1 cu "<<suma(vf1);
else if(suma(vf2)>suma(vf1))
cout<<"Copilul 2 cu "<<suma(vf2);
else cout<<"=";
}