Orar semigroup #2

Orar semigroup #2

5/16

Se citesc notele unui elev intr-o coada. Afisati ce note nu a luat. Verificati daca a luat 10 dupa 4. Calculati media, stiind ca nota de la teza e pe ultima pozitie.

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

void adaugare(nod* &prim, nod* &ultim, int x)
{nod* p=new nod;
p->info=x;
p->urm=NULL;
if(prim==NULL)
    prim=p;
else ultim->urm=p;
ultim=p;}

void afisare(nod* prim)
{if(prim==NULL)
    cout<<"Coada goala";
else while(prim->urm)
{cout<<prim->info<<" | ";
prim=prim->urm;}
cout<<prim->info<<" (Teza)";
cout<<endl;
}

void zece(nod* prim)
{while(prim->urm!=NULL)
    if(prim->info==4 && prim->urm->info==10)
        {cout<<"A luat 10 dupa 4";
        break;}
    else {prim=prim->urm;}
    cout<<"Nu a luat 10 dupa 4";
}

float medie(nod* prim)
{float m,s;
int i=0;
while(prim->urm)
{s=s+prim->info;
i++;
prim=prim->urm;}
s=s/i;
s=s*100;
s=(int)s;
s=(float)s/100;
s=s*3+prim->info;
s=s/4;
s=s*100;
s=(int)s;
s=(float)s/100;
return s;}

int note(int x, nod* prim)
{while(prim!=NULL)
{if(prim->info==x)
    return 1;
prim=prim->urm;}
return 0;}

int main()
{ifstream f("date");
int x,k;
nod* prim=NULL;
nod* ultim=NULL;
while(f>>x)
    adaugare(prim,ultim,x);
afisare(prim);
cout<<"Nu a luat notele: ";
for(int i=1;i<=10;i++)
    if(note(i,prim)==0)
        cout<<i<<" ";
cout<<endl;
zece(prim);
cout<<endl<<"Media: "<<medie(prim);
}
Problema 9
#include<iostream>
#include<fstream>
using namespace std;
struct nod{char cuv[10],v1[10],v2[10],v3[10];
    int corect;
nod* urm;};

void adaugare(nod* &prim, nod* &ultim, char cuv[], char v1[], char v2[], char v3[], int corect)
{nod* p=new nod;
strcpy(p->cuv,cuv);
strcpy(p->v1,v1);
strcpy(p->v2,v2);
strcpy(p->v3,v3);
p->corect=corect;
p->urm=NULL;
if(prim==NULL)
    prim=p;
else ultim->urm=p;
ultim=p;}

void stergere(nod* &prim)
{nod* p;
p=prim;
prim=prim->urm;
delete p;
}

void afisare(nod* prim)
{if(prim==NULL)
    cout<<"Coada goala";
cout<<endl<<prim->cuv<<endl;
cout<<"1. "<<prim->v1<<endl;
cout<<"2. "<<prim->v2<<endl;
cout<<"3. "<<prim->v3<<endl;
cout<<"Raspuns: ";
}

int main()
{ifstream f("date");
int x,k,punctaj;
nod* prim=NULL;
nod* ultim=NULL;
char cuv[10],v1[10],v2[10],v3[10];
int p=0,r,corect;
cout<<"Punctaj pe intrebare: ";
cin>>k;
while(f>>cuv>>v1>>v2>>v3>>corect)
    adaugare(prim,ultim,cuv,v1,v2,v3,corect);
//afisare(prim);
while(prim)
{afisare(prim);
cin>>r;
if(r==prim->corect)
    {p=p+k;
    prim=prim->urm;}
else {p--;
adaugare(prim,ultim,prim->cuv,prim->v1,prim->v2,prim->v3,prim->corect);
stergere(prim);}
}
cout<<endl<<"Punctaj: "<<p;
}
Fişier
gras
fat
fatigue
faringe
1

lingau
guilty
grasul
tudy
2

logan
logy
car
airplane
3

dolgopolov
tennis_player
tennis_master
ukraineak_blatist
2

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

Leave a Reply