👤

#include



using namespace std;
ifstream f("date.in");
ofstream g("date.out");

int n,x;
struct nod
{
int info;
nod *st,*dr;

}*prim,*ultim,*p;
void afisd(nod *prim,nod *ultim)
{
p=prim;
while(p)
{
g<info<<" ";
p=p->dr;

}
}
void afisds(nod *prim,nod *ultim)
{
p=ultim;
while(p)
{
g<info<<" ";
p=p->st;

}
}
void creareld(nod *&prim,nod *&ultim)
{
prim=new nod;

f>>prim->info;
prim->dr=prim->st=NULL;
ultim=prim;
while(f>>x)
{ p->info=x;
p=new nod;
ultim->dr=ultim->st=NULL;
ultim=p;
p=p->dr;
}
afisd(prim,ultim);

}
int faraultim(int x)
{
x=x/10;
return x;
}
int ultimac(int x)
{
x=x%10;
return x;
}

int primac(int x)
{
int c=0;
if(x)
{
c=c*10+x%10;
x/=10;
}
return x%10;
}
int sumac(int x)
{
if(x<10)return x;
return x%10+sumac(n/10);
}
int para(int x)
{
if(x%2==0)

return 1;
return 0;

}
int nrprim(int x)
{
int nr=0;
for(int d=1; d*d<=x; d++)
{
if(x%d!=0)
{
nr++;
}
}
if(nr==2)
{
return 1;
}
else
{
return 0;
}
}
void nrsumap(nod *prim,nod*ultim)
{
int nr=0;
for(p=prim; p; p=p->dr)
{
if(sumac(faraultim(p->info))%2==0)
{
nr++;
}

}
g< }
int nrpr(nod *prim,nod *ultim)
{
int nr=0;
p=prim;
while(p)
{
if(nrprim(p->info)!=0)
{
nr++;
}
p=p->dr;
}
return nr;
}
int paramin(nod *prim,nod *ultim)
{
int mn=99999;
p=prim;
while(p->info)
{
if(para(p->info) {

mn=p->info;
}
p=p->dr;
}
return mn;
}

int sumapuc(nod *prim,nod *ultim)
{
int s=0;
if(primac(p->info)==ultimac(p->info))
{
s=s+p->info;
}
return s;
}
void cerinta (nod *prim,nod*ultim)
{
int a,b;
a=nrpr(prim,ultim);
b=nrpr(prim,ultim);
if(a>b)
{
g< }
else
{
sumapuc(prim,ultim);
}
}
int main()
{
creareld(prim,ultim);

cerinta(prim,ultim);


return 0;
}



Va rog imi puteti spune de ce nu imi afiseaza nimic in fisier? Nu ma intereseaza corectitudinea altor subprograme decat al celui de creare si afisare.


Răspuns :

Răspuns:

Explicație:

void afisd(nod *prim,nod *ultim)

{

p=prim;

while(p)

{

g<info<<" ";    // aici tr sa fie  g << p->info << " ";

p=p->dr;

}

}

*******************************************************

void afisds(nod *prim,nod *ultim)

{

p=ultim;

while(p)

{

g<info<<" ";    // aici tr sa fie  g << p->info << " ";

p=p->st;

}

}

*****************************************

void creareld(nod *&prim,nod *&ultim)

{

prim=new nod;

f>>prim->info;

prim->dr=prim->st=NULL;

ultim=prim;

while(f>>x)

{ p->info=x;    // acest rand schimbi cu locul cu urmatorul rand

p=new nod;   // mai intai se creaza nodul si dupa il incarci cu date

ultim->dr=ultim->st=NULL;  //aici de ce???  

ultim=p;

p=p->dr;

}

afisd(prim,ultim);

}

ceva nu e bine la functia creareld, lipseste legatura lui prim cu urmatoarele noduri.