#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ăspunsuri la întrebare
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.